← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2549: splitter painting

 

------------------------------------------------------------
revno: 2549
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Fri 2011-06-03 20:55:11 +0200
message:
  splitter painting
modified:
  dwt/src/widgets/Menu.cpp
  dwt/src/widgets/Splitter.cpp


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dwt/src/widgets/Menu.cpp'
--- dwt/src/widgets/Menu.cpp	2011-06-02 18:20:54 +0000
+++ dwt/src/widgets/Menu.cpp	2011-06-03 18:55:11 +0000
@@ -42,7 +42,6 @@
 #include <dwt/DWTException.h>
 #include <dwt/util/check.h>
 #include <dwt/util/StringUtils.h>
-#include <dwt/util/win32/Version.h>
 #include <dwt/dwt_vsstyle.h>
 
 #include <algorithm>

=== modified file 'dwt/src/widgets/Splitter.cpp'
--- dwt/src/widgets/Splitter.cpp	2011-05-28 15:31:50 +0000
+++ dwt/src/widgets/Splitter.cpp	2011-06-03 18:55:11 +0000
@@ -35,6 +35,7 @@
 #include <dwt/Texts.h>
 #include <dwt/WidgetCreator.h>
 #include <dwt/resources/Brush.h>
+#include <dwt/resources/Pen.h>
 #include <dwt/widgets/SplitterContainer.h>
 #include <dwt/widgets/ToolTip.h>
 
@@ -60,20 +61,34 @@
 }
 
 void Splitter::handlePainting(PaintCanvas& canvas) {
-	if(theme) {
-		Rectangle rect(getClientSize());
-		// don't draw edges.
-		(horizontal ? rect.pos.x : rect.pos.y) -= 2;
-		(horizontal ? rect.size.x : rect.size.y) += 4;
-
-		theme.drawBackground(canvas, WP_CAPTION, CS_ACTIVE, rect, true, canvas.getPaintRect());
+	if(hovering) {
+		if(theme) {
+			Rectangle rect(getClientSize());
+			// don't draw edges.
+			(horizontal ? rect.pos.x : rect.pos.y) -= 2;
+			(horizontal ? rect.size.x : rect.size.y) += 4;
+
+			theme.drawBackground(canvas, WP_CAPTION, CS_ACTIVE, rect, true, canvas.getPaintRect());
+
+		} else {
+			canvas.fill(canvas.getPaintRect(), Brush(Brush::ActiveCaption));
+		}
 
 	} else {
-		canvas.fill(canvas.getPaintRect(), Brush(Brush::ActiveCaption));
-	}
-
-	if(hovering) {
-		canvas.invert(Region(canvas.getPaintRect()));
+		auto size = getClientSize();
+
+		Pen pen(Color::predefined(COLOR_3DSHADOW));
+		auto select(canvas.select(pen));
+
+		if(horizontal) {
+			auto mid = size.y / 2;
+			canvas.line(0, mid - 1, size.x, mid - 1);
+			canvas.line(0, mid, size.x, mid);
+		} else {
+			auto mid = size.x / 2;
+			canvas.line(mid - 1, 0, mid - 1, size.y);
+			canvas.line(mid, 0, mid, size.y);
+		}
 	}
 }