From b2931f22c3004df536c4d4738d2452e5b3a78a38 Mon Sep 17 00:00:00 2001 From: Bertrand Lorentz Date: Fri, 29 Jul 2011 18:06:03 +0200 Subject: [PATCH] DemoColorSelection: Remove Drawn callback and preserve selected color The drawing area is automatically cleared to the background color, so we don't need a Drawn callback to do it ourselves. Preserve the color selected in the color selection dialog, so that it's pre-selected the next time the dialog is opened. --- sample/GtkDemo/DemoColorSelection.cs | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/sample/GtkDemo/DemoColorSelection.cs b/sample/GtkDemo/DemoColorSelection.cs index d8f5f8b79..ee6ad53dc 100644 --- a/sample/GtkDemo/DemoColorSelection.cs +++ b/sample/GtkDemo/DemoColorSelection.cs @@ -30,7 +30,6 @@ namespace GtkDemo vbox.PackStart (frame, true, true, 0); drawingArea = new DrawingArea (); - drawingArea.Drawn += new DrawnHandler (DrawnCallback); // set a minimum size drawingArea.SetSizeRequest (200,200); // set the color @@ -56,18 +55,6 @@ namespace GtkDemo return true; } - // Drawn callback for the drawing area - private void DrawnCallback (object o, DrawnArgs args) - { - Cairo.Context cr = args.Cr; - - Gdk.RGBA rgba = StyleContext.GetBackgroundColor (StateFlags.Normal); - cr.SetSourceRGBA (rgba.Red, rgba.Green, rgba.Blue, rgba.Alpha); - cr.Paint (); - - args.RetVal = true; - } - private void ChangeColorCallback (object o, EventArgs args) { using (ColorSelectionDialog colorSelectionDialog = new ColorSelectionDialog ("Changing color")) { @@ -77,8 +64,8 @@ namespace GtkDemo colorSelectionDialog.ColorSelection.HasPalette = true; if (colorSelectionDialog.Run () == (int) ResponseType.Ok) { - Gdk.RGBA selected = colorSelectionDialog.ColorSelection.CurrentRgba; - drawingArea.OverrideBackgroundColor (StateFlags.Normal, selected); + color = colorSelectionDialog.ColorSelection.CurrentRgba; + drawingArea.OverrideBackgroundColor (StateFlags.Normal, color); } colorSelectionDialog.Hide ();