/* Copyright (C) 2018-2020, Dirk Krause SPDX-License-Identifier: BSD-3-Clause */ /* WARNING: This file was generated by the dkct program (see http://dktools.sourceforge.net/ for details). Changes you make here will be lost if dkct is run again! You should modify the original source and run dkct on it. Original source: Dk4WxColourPalette.wxc */ /** @file Dk4WxColourPalette.cpp The Dk4WxColourPalette module. */ #line 918 "Dk4WxColourPalette.wxc" #include "Dk4WxColourPalette.h" #ifndef WX_CONFIG_H_INCLUDED #include #define WX_CONFIG_H_INCLUDED 1 #endif #ifndef WX_ARRSTR_H_INCLUDED #include #define WX_ARRSTR_H_INCLUDED 1 #endif #ifndef WX_DCBUFFER_H_INCLUDED #include #define WX_DCBUFFER_H_INCLUDED 1 #endif #line 939 "Dk4WxColourPalette.wxc" /** HTML named color type. */ typedef struct { const wxChar *name; /**< Color name. */ unsigned long rgb; /**< 16*R+8*G+B. */ } html_color_t; /** The named HTML colors. */ static const html_color_t html_colors[] = { { wxT("AliceBlue"), 0xF0F8FFUL }, { wxT("AntiqueWhite"), 0xFAEBD7UL }, { wxT("Aqua"), 0x00FFFFUL }, { wxT("Aquamarine"), 0x7FFFD4UL }, { wxT("Azure"), 0xF0FFFFUL }, { wxT("Beige"), 0xF5F5DCUL }, { wxT("Bisque"), 0xFFE4C4UL }, { wxT("Black"), 0x000000UL }, { wxT("BlanchedAlmond"), 0xFFEBCDUL }, { wxT("Blue"), 0x0000FFUL }, { wxT("BlueViolet"), 0x8A2BE2UL }, { wxT("Brown"), 0xA52A2AUL }, { wxT("BurlyWood"), 0xDEB887UL }, { wxT("CadetBlue"), 0x5F9EA0UL }, { wxT("Chartreuse"), 0x7FFF00UL }, { wxT("Chocolate"), 0xD2691EUL }, { wxT("Coral"), 0xFF7F50UL }, { wxT("CornflowerBlue"), 0x6495EDUL }, { wxT("Cornsilk"), 0xFFF8DCUL }, { wxT("Crimson"), 0xDC143CUL }, { wxT("Cyan"), 0x00FFFFUL }, { wxT("DarkBlue"), 0x00008BUL }, { wxT("DarkCyan"), 0x008B8BUL }, { wxT("DarkGoldenRod"), 0xB8860BUL }, { wxT("DarkGray"), 0xA9A9A9UL }, { wxT("DarkGrey"), 0xA9A9A9UL }, { wxT("DarkGreen"), 0x006400UL }, { wxT("DarkKhaki"), 0xBDB76BUL }, { wxT("DarkMagenta"), 0x8B008BUL }, { wxT("DarkOliveGreen"), 0x556B2FUL }, { wxT("DarkOrange"), 0xFF8C00UL }, { wxT("DarkOrchid"), 0x9932CCUL }, { wxT("DarkRed"), 0x8B0000UL }, { wxT("DarkSalmon"), 0xE9967AUL }, { wxT("DarkSeaGreen"), 0x8FBC8FUL }, { wxT("DarkSlateBlue"), 0x483D8BUL }, { wxT("DarkSlateGray"), 0x2F4F4FUL }, { wxT("DarkSlateGrey"), 0x2F4F4FUL }, { wxT("DarkTurquoise"), 0x00CED1UL }, { wxT("DarkViolet"), 0x9400D3UL }, { wxT("DeepPink"), 0xFF1493UL }, { wxT("DeepSkyBlue"), 0x00BFFFUL }, { wxT("DimGray"), 0x696969UL }, { wxT("DimGrey"), 0x696969UL }, { wxT("DodgerBlue"), 0x1E90FFUL }, { wxT("FireBrick"), 0xB22222UL }, { wxT("FloralWhite"), 0xFFFAF0UL }, { wxT("ForestGreen"), 0x228B22UL }, { wxT("Fuchsia"), 0xFF00FFUL }, { wxT("Gainsboro"), 0xDCDCDCUL }, { wxT("GhostWhite"), 0xF8F8FFUL }, { wxT("Gold"), 0xFFD700UL }, { wxT("GoldenRod"), 0xDAA520UL }, { wxT("Gray"), 0x808080UL }, { wxT("Grey"), 0x808080UL }, { wxT("Green"), 0x008000UL }, { wxT("GreenYellow"), 0xADFF2FUL }, { wxT("HoneyDew"), 0xF0FFF0UL }, { wxT("HotPink"), 0xFF69B4UL }, { wxT("IndianRed"), 0xCD5C5CUL }, { wxT("Indigo"), 0x4B0082UL }, { wxT("Ivory"), 0xFFFFF0UL }, { wxT("Khaki"), 0xF0E68CUL }, { wxT("Lavender"), 0xE6E6FAUL }, { wxT("LavenderBlush"), 0xFFF0F5UL }, { wxT("LawnGreen"), 0x7CFC00UL }, { wxT("LemonChiffon"), 0xFFFACDUL }, { wxT("LightBlue"), 0xADD8E6UL }, { wxT("LightCoral"), 0xF08080UL }, { wxT("LightCyan"), 0xE0FFFFUL }, { wxT("LightGoldenRodYellow"), 0xFAFAD2UL }, { wxT("LightGray"), 0xD3D3D3UL }, { wxT("LightGrey"), 0xD3D3D3UL }, { wxT("LightGreen"), 0x90EE90UL }, { wxT("LightPink"), 0xFFB6C1UL }, { wxT("LightSalmon"), 0xFFA07AUL }, { wxT("LightSeaGreen"), 0x20B2AAUL }, { wxT("LightSkyBlue"), 0x87CEFAUL }, { wxT("LightSlateGray"), 0x778899UL }, { wxT("LightSlateGrey"), 0x778899UL }, { wxT("LightSteelBlue"), 0xB0C4DEUL }, { wxT("LightYellow"), 0xFFFFE0UL }, { wxT("Lime"), 0x00FF00UL }, { wxT("LimeGreen"), 0x32CD32UL }, { wxT("Linen"), 0xFAF0E6UL }, { wxT("Magenta"), 0xFF00FFUL }, { wxT("Maroon"), 0x800000UL }, { wxT("MediumAquaMarine"), 0x66CDAAUL }, { wxT("MediumBlue"), 0x0000CDUL }, { wxT("MediumOrchid"), 0xBA55D3UL }, { wxT("MediumPurple"), 0x9370DBUL }, { wxT("MediumSeaGreen"), 0x3CB371UL }, { wxT("MediumSlateBlue"), 0x7B68EEUL }, { wxT("MediumSpringGreen"), 0x00FA9AUL }, { wxT("MediumTurquoise"), 0x48D1CCUL }, { wxT("MediumVioletRed"), 0xC71585UL }, { wxT("MidnightBlue"), 0x191970UL }, { wxT("MintCream"), 0xF5FFFAUL }, { wxT("MistyRose"), 0xFFE4E1UL }, { wxT("Moccasin"), 0xFFE4B5UL }, { wxT("NavajoWhite"), 0xFFDEADUL }, { wxT("Navy"), 0x000080UL }, { wxT("OldLace"), 0xFDF5E6UL }, { wxT("Olive"), 0x808000UL }, { wxT("OliveDrab"), 0x6B8E23UL }, { wxT("Orange"), 0xFFA500UL }, { wxT("OrangeRed"), 0xFF4500UL }, { wxT("Orchid"), 0xDA70D6UL }, { wxT("PaleGoldenRod"), 0xEEE8AAUL }, { wxT("PaleGreen"), 0x98FB98UL }, { wxT("PaleTurquoise"), 0xAFEEEEUL }, { wxT("PaleVioletRed"), 0xDB7093UL }, { wxT("PapayaWhip"), 0xFFEFD5UL }, { wxT("PeachPuff"), 0xFFDAB9UL }, { wxT("Peru"), 0xCD853FUL }, { wxT("Pink"), 0xFFC0CBUL }, { wxT("Plum"), 0xDDA0DDUL }, { wxT("PowderBlue"), 0xB0E0E6UL }, { wxT("Purple"), 0x800080UL }, { wxT("RebeccaPurple"), 0x663399UL }, { wxT("Red"), 0xFF0000UL }, { wxT("RosyBrown"), 0xBC8F8FUL }, { wxT("RoyalBlue"), 0x4169E1UL }, { wxT("SaddleBrown"), 0x8B4513UL }, { wxT("Salmon"), 0xFA8072UL }, { wxT("SandyBrown"), 0xF4A460UL }, { wxT("SeaGreen"), 0x2E8B57UL }, { wxT("SeaShell"), 0xFFF5EEUL }, { wxT("Sienna"), 0xA0522DUL }, { wxT("Silver"), 0xC0C0C0UL }, { wxT("SkyBlue"), 0x87CEEBUL }, { wxT("SlateBlue"), 0x6A5ACDUL }, { wxT("SlateGray"), 0x708090UL }, { wxT("SlateGrey"), 0x708090UL }, { wxT("Snow"), 0xFFFAFAUL }, { wxT("SpringGreen"), 0x00FF7FUL }, { wxT("SteelBlue"), 0x4682B4UL }, { wxT("Tan"), 0xD2B48CUL }, { wxT("Teal"), 0x008080UL }, { wxT("Thistle"), 0xD8BFD8UL }, { wxT("Tomato"), 0xFF6347UL }, { wxT("Turquoise"), 0x40E0D0UL }, { wxT("Violet"), 0xEE82EEUL }, { wxT("Wheat"), 0xF5DEB3UL }, { wxT("White"), 0xFFFFFFUL }, { wxT("WhiteSmoke"), 0xF5F5F5UL }, { wxT("Yellow"), 0xFFFF00UL }, { wxT("YellowGreen"), 0x9ACD32UL } }; /** Number of elements in the html_colors array. */ static const size_t sz_html_colors = sizeof(html_colors)/sizeof(html_color_t); /** Window type name. */ wxChar const Dk4WxColourPalette::Dk4WxColourPaletteItem::Dk4WxColourPaletteItemName[] = { wxT("Dk4WxColourPaletteItem") } ; #if wxCHECK_VERSION(3,0,0) wxBEGIN_EVENT_TABLE(Dk4WxColourPalette::Dk4WxColourPaletteItem,wxControl) #else BEGIN_EVENT_TABLE(Dk4WxColourPalette::Dk4WxColourPaletteItem,wxControl) #endif EVT_ERASE_BACKGROUND(Dk4WxColourPalette::Dk4WxColourPaletteItem::OnErase) EVT_PAINT(Dk4WxColourPalette::Dk4WxColourPaletteItem::OnPaint) EVT_LEFT_DOWN(Dk4WxColourPalette::Dk4WxColourPaletteItem::OnLeftMouseButtonDown) #if wxCHECK_VERSION(3,0,0) wxEND_EVENT_TABLE() #else END_EVENT_TABLE() #endif #if wxCHECK_VERSION(3,0,0) wxIMPLEMENT_DYNAMIC_CLASS(Dk4WxColourPalette::Dk4WxColourPaletteItem,wxControl); #else IMPLEMENT_DYNAMIC_CLASS(Dk4WxColourPalette::Dk4WxColourPaletteItem,wxControl) #endif #if wxCHECK_VERSION(3,0,0) wxBEGIN_EVENT_TABLE(Dk4WxColourPalette,wxDialog) #else BEGIN_EVENT_TABLE(Dk4WxColourPalette,wxDialog) #endif EVT_BUTTON(\ wxID_OK,\ Dk4WxColourPalette::OnOK\ ) EVT_BUTTON(\ wxID_CANCEL,\ Dk4WxColourPalette::OnCancel\ ) EVT_SLIDER(\ Dk4WxColourPalette::ID_SLIDER_SHADE,\ Dk4WxColourPalette::OnShadeSlider\ ) EVT_SLIDER(\ Dk4WxColourPalette::ID_SLIDER_RED,\ Dk4WxColourPalette::OnRgbSlider\ ) EVT_SLIDER(\ Dk4WxColourPalette::ID_SLIDER_GREEN,\ Dk4WxColourPalette::OnRgbSlider\ ) EVT_SLIDER(\ Dk4WxColourPalette::ID_SLIDER_BLUE,\ Dk4WxColourPalette::OnRgbSlider\ ) EVT_CHOICEBOOK_PAGE_CHANGED(\ Dk4WxColourPalette::ID_CHOICEBOOK,\ Dk4WxColourPalette::OnChoicebookChanged\ ) EVT_LISTBOX(\ Dk4WxColourPalette::ID_HTML_NAMED_LIST,\ Dk4WxColourPalette::OnListBoxChanged\ ) #if wxCHECK_VERSION(3,0,0) wxEND_EVENT_TABLE() #else END_EVENT_TABLE() #endif /** Text fragments, replaced by localized versions if found. */ static const wxChar * const message_texts[] = { /* 0 */ wxT("Colour palettes"), /* 1 */ wxT("Choose palette type"), /* 2 */ wxT("Click palette item to choose color"), /* 3 */ wxT("black"), /* 4 */ wxT("pure"), /* 5 */ wxT("white"), /* 6 */ wxT("Shading level"), /* 7 */ wxT("Modify shading (mix towards black or white)"), /* 8 */ wxT("Select item to choose color"), /* 9 */ wxT("Red"), /* 10 */ wxT("Green"), /* 11 */ wxT("Blue"), /* 12 */ wxT("Modify red color component"), /* 13 */ wxT("Modify green color component"), /* 14 */ wxT("Modify blue color component"), /* 15 */ wxT("Cancel"), /* 16 */ wxT("Leave dialog, skip settings"), /* 17 */ wxT("Red color component value, hexadecimal 00...FF"), /* 18 */ wxT("Green color component value, hexadecimal 00...FF"), /* 19 */ wxT("Blue color component value, hexadecimal 00...FF"), /* 20 */ wxT("Red color component value, decimal 0...255"), /* 21 */ wxT("Green color component value, decimal 0...255"), /* 22 */ wxT("Blue color component value, decimal 0...255"), /* 23 */ wxT("Result color"), /* 24 */ wxT("OK"), /* 25 */ wxT("Apply settings"), /* 26 */ wxT("XFig"), /* 27 */ wxT("HTML"), /* 28 */ wxT("WEB 216"), NULL #line 1266 "Dk4WxColourPalette.wxc" }; static const wxChar * const not_localized_texts[] = { /* 0 */ wxT("FF"), /* 1 */ wxT("255"), /* 2 */ wxT("%+02d %%"), /* 3 */ wxT("%03d"), /* 4 */ wxT("%02X"), NULL #line 1283 "Dk4WxColourPalette.wxc" }; /** String table file name. */ static const dkChar sttfilename[] = { dkT("dk4colpal.str") }; /** Color component values corresponding to the RGB slider settings. */ static const int rgbSliderValues[] = { 0, 0x0033, 0x0066, 0x0099, 0x00CC, 0x00FF }; Dk4WxColourPalette::Dk4WxColourPalette() { pAppHelp = NULL; slvshade = 0; rb = gb = bb = r = g = b = 255; slvred = slvgreen = slvblue = 5; listSelection = 0; bIsCorrecting = false; } #line 1314 "Dk4WxColourPalette.wxc" Dk4WxColourPalette::Dk4WxColourPalette( wxWindow *pParent, Dk4WxApplicationHelper *pAppHelper, int red, int green, int blue, bool withborder ) : wxDialog( pParent, wxID_ANY, wxT("Colour palette"), wxDefaultPosition, wxDefaultSize, Dk4WxColourPalette::GetDialogStyle(false, withborder) ), colourRed(127, 0, 0), colourGreen(0, 127, 0), colourBlue(0, 0, 127) { wxArrayString saHtmlNames; wxChar const * const *lTexts; size_t i; #line 1337 "Dk4WxColourPalette.wxc" #line 1338 "Dk4WxColourPalette.wxc" #line 1339 "Dk4WxColourPalette.wxc" #line 1340 "Dk4WxColourPalette.wxc" localizedTexts = lTexts = pAppHelper->GetStringTable(sttfilename, message_texts); if (NULL == localizedTexts) { localizedTexts = lTexts = message_texts; } pAppHelp = pAppHelper; slvshade = 0; rb = r = red; gb = g = green; bb = b = blue; slvred = slvgreen = slvblue = 5; listSelection = 0; bIsCorrecting = false; for (i = 0; i < sz_html_colors; i++) { saHtmlNames.Add(html_colors[i].name); } dkctGUILayoutOK = false; mainSizerHorizontal = NULL; mainSizerVertical = NULL; choiceBookInput = NULL; resultSizerHexadecimal = NULL; resultSizerDecimal = NULL; colourViewResult = NULL; buttonsDialog = NULL; panelFig = NULL; panelHtmlNamed = NULL; panelHtml216 = NULL; figSizerHorizontal = NULL; figSizerVertical = NULL; figButtonRow0 = NULL; figButtonRow1 = NULL; figButtonRow2 = NULL; figButtonRow3 = NULL; figShaderLabelSizer = NULL; figShaderSlider = NULL; b00 = NULL; b01 = NULL; b02 = NULL; b03 = NULL; b04 = NULL; b05 = NULL; b06 = NULL; b07 = NULL; b08 = NULL; b09 = NULL; b10 = NULL; b11 = NULL; b12 = NULL; b13 = NULL; b14 = NULL; b15 = NULL; b16 = NULL; b17 = NULL; b18 = NULL; b19 = NULL; b20 = NULL; b21 = NULL; b22 = NULL; b23 = NULL; b24 = NULL; b25 = NULL; b26 = NULL; b27 = NULL; b28 = NULL; b29 = NULL; b30 = NULL; b31 = NULL; figShaderLabelText = NULL; htmlNamedSizerHorizontal = NULL; htmlNamedSizerVertical = NULL; listHtmlNames = NULL; html216SizerHorizontal = NULL; html216SizerVertical = NULL; labelHtml216Red = NULL; sliderHtml216Red = NULL; labelHtml216Green = NULL; sliderHtml216Green = NULL; labelHtml216Blue = NULL; sliderHtml216Blue = NULL; hexRed = NULL; hexGreen = NULL; hexBlue = NULL; decRed = NULL; decGreen = NULL; decBlue = NULL; buttonOK = NULL; buttonCancel = NULL; mainSizerHorizontal = new wxBoxSizer( wxHORIZONTAL ); if(!(mainSizerHorizontal)) { goto dkctGUILayoutFinished; } mainSizerHorizontal->Add(10, 10, 0); mainSizerVertical = new wxBoxSizer( wxVERTICAL ); if(!(mainSizerVertical)) { goto dkctGUILayoutFinished; } mainSizerVertical->Add(10, 10, 0); choiceBookInput = new wxChoicebook( this, ID_CHOICEBOOK ); if(!(choiceBookInput)) { goto dkctGUILayoutFinished; } panelFig = new wxPanel( choiceBookInput, wxID_ANY ); if(!(panelFig)) { goto dkctGUILayoutFinished; } figSizerHorizontal = new wxBoxSizer( wxHORIZONTAL ); if(!(figSizerHorizontal)) { goto dkctGUILayoutFinished; } figSizerHorizontal->Add(5, 5, 1); figSizerVertical = new wxBoxSizer( wxVERTICAL ); if(!(figSizerVertical)) { goto dkctGUILayoutFinished; } figSizerVertical->Add(5, 5, 1); figButtonRow0 = new wxBoxSizer( wxHORIZONTAL ); if(!(figButtonRow0)) { goto dkctGUILayoutFinished; } b00 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 0, 0 ); if(!(b00)) { goto dkctGUILayoutFinished; } b00->SetToolTip(lTexts[2]); figButtonRow0->Add( b00 ); figButtonRow0->Add(5, 5, 0); b01 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 0, 255 ); if(!(b01)) { goto dkctGUILayoutFinished; } b01->SetToolTip(lTexts[2]); figButtonRow0->Add( b01 ); figButtonRow0->Add(5, 5, 0); b02 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 255, 0 ); if(!(b02)) { goto dkctGUILayoutFinished; } b02->SetToolTip(lTexts[2]); figButtonRow0->Add( b02 ); figButtonRow0->Add(5, 5, 0); b03 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 255, 255 ); if(!(b03)) { goto dkctGUILayoutFinished; } b03->SetToolTip(lTexts[2]); figButtonRow0->Add( b03 ); figButtonRow0->Add(5, 5, 0); b04 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 0, 0 ); if(!(b04)) { goto dkctGUILayoutFinished; } b04->SetToolTip(lTexts[2]); figButtonRow0->Add( b04 ); figButtonRow0->Add(5, 5, 0); b05 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 0, 255 ); if(!(b05)) { goto dkctGUILayoutFinished; } b05->SetToolTip(lTexts[2]); figButtonRow0->Add( b05 ); figButtonRow0->Add(5, 5, 0); b06 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 255, 0 ); if(!(b06)) { goto dkctGUILayoutFinished; } b06->SetToolTip(lTexts[2]); figButtonRow0->Add( b06 ); figButtonRow0->Add(5, 5, 0); b07 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 255, 255 ); if(!(b07)) { goto dkctGUILayoutFinished; } b07->SetToolTip(lTexts[2]); figButtonRow0->Add( b07 ); figSizerVertical->Add( figButtonRow0 ); figSizerVertical->Add(5, 5, 0); figButtonRow1 = new wxBoxSizer( wxHORIZONTAL ); if(!(figButtonRow1)) { goto dkctGUILayoutFinished; } b08 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 0, 143 ); if(!(b08)) { goto dkctGUILayoutFinished; } b08->SetToolTip(lTexts[2]); figButtonRow1->Add( b08 ); figButtonRow1->Add(5, 5, 0); b09 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 0, 176 ); if(!(b09)) { goto dkctGUILayoutFinished; } b09->SetToolTip(lTexts[2]); figButtonRow1->Add( b09 ); figButtonRow1->Add(5, 5, 0); b10 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 0, 209 ); if(!(b10)) { goto dkctGUILayoutFinished; } b10->SetToolTip(lTexts[2]); figButtonRow1->Add( b10 ); figButtonRow1->Add(5, 5, 0); b11 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 135, 207, 255 ); if(!(b11)) { goto dkctGUILayoutFinished; } b11->SetToolTip(lTexts[2]); figButtonRow1->Add( b11 ); figButtonRow1->Add(5, 5, 0); b12 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 143, 0 ); if(!(b12)) { goto dkctGUILayoutFinished; } b12->SetToolTip(lTexts[2]); figButtonRow1->Add( b12 ); figButtonRow1->Add(5, 5, 0); b13 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 176, 0 ); if(!(b13)) { goto dkctGUILayoutFinished; } b13->SetToolTip(lTexts[2]); figButtonRow1->Add( b13 ); figButtonRow1->Add(5, 5, 0); b14 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 209, 0 ); if(!(b14)) { goto dkctGUILayoutFinished; } b14->SetToolTip(lTexts[2]); figButtonRow1->Add( b14 ); figButtonRow1->Add(5, 5, 0); b15 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 143, 143 ); if(!(b15)) { goto dkctGUILayoutFinished; } b15->SetToolTip(lTexts[2]); figButtonRow1->Add( b15 ); figSizerVertical->Add( figButtonRow1 ); figSizerVertical->Add(5, 5, 0); figButtonRow2 = new wxBoxSizer( wxHORIZONTAL ); if(!(figButtonRow2)) { goto dkctGUILayoutFinished; } b16 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 176, 176 ); if(!(b16)) { goto dkctGUILayoutFinished; } b16->SetToolTip(lTexts[2]); figButtonRow2->Add( b16 ); figButtonRow2->Add(5, 5, 0); b17 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 0, 209, 209 ); if(!(b17)) { goto dkctGUILayoutFinished; } b17->SetToolTip(lTexts[2]); figButtonRow2->Add( b17 ); figButtonRow2->Add(5, 5, 0); b18 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 143, 0, 0 ); if(!(b18)) { goto dkctGUILayoutFinished; } b18->SetToolTip(lTexts[2]); figButtonRow2->Add( b18 ); figButtonRow2->Add(5, 5, 0); b19 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 176, 0, 0 ); if(!(b19)) { goto dkctGUILayoutFinished; } b19->SetToolTip(lTexts[2]); figButtonRow2->Add( b19 ); figButtonRow2->Add(5, 5, 0); b20 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 209, 0, 0 ); if(!(b20)) { goto dkctGUILayoutFinished; } b20->SetToolTip(lTexts[2]); figButtonRow2->Add( b20 ); figButtonRow2->Add(5, 5, 0); b21 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 143, 0, 143 ); if(!(b21)) { goto dkctGUILayoutFinished; } b21->SetToolTip(lTexts[2]); figButtonRow2->Add( b21 ); figButtonRow2->Add(5, 5, 0); b22 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 176, 0, 176 ); if(!(b22)) { goto dkctGUILayoutFinished; } b22->SetToolTip(lTexts[2]); figButtonRow2->Add( b22 ); figButtonRow2->Add(5, 5, 0); b23 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 209, 0, 209 ); if(!(b23)) { goto dkctGUILayoutFinished; } b23->SetToolTip(lTexts[2]); figButtonRow2->Add( b23 ); figSizerVertical->Add( figButtonRow2 ); figSizerVertical->Add(5, 5, 0); figButtonRow3 = new wxBoxSizer( wxHORIZONTAL ); if(!(figButtonRow3)) { goto dkctGUILayoutFinished; } b24 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 127, 48, 0 ); if(!(b24)) { goto dkctGUILayoutFinished; } b24->SetToolTip(lTexts[2]); figButtonRow3->Add( b24 ); figButtonRow3->Add(5, 5, 0); b25 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 160, 63, 0 ); if(!(b25)) { goto dkctGUILayoutFinished; } b25->SetToolTip(lTexts[2]); figButtonRow3->Add( b25 ); figButtonRow3->Add(5, 5, 0); b26 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 191, 97, 0 ); if(!(b26)) { goto dkctGUILayoutFinished; } b26->SetToolTip(lTexts[2]); figButtonRow3->Add( b26 ); figButtonRow3->Add(5, 5, 0); b27 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 127, 127 ); if(!(b27)) { goto dkctGUILayoutFinished; } b27->SetToolTip(lTexts[2]); figButtonRow3->Add( b27 ); figButtonRow3->Add(5, 5, 0); b28 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 160, 160 ); if(!(b28)) { goto dkctGUILayoutFinished; } b28->SetToolTip(lTexts[2]); figButtonRow3->Add( b28 ); figButtonRow3->Add(5, 5, 0); b29 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 191, 191 ); if(!(b29)) { goto dkctGUILayoutFinished; } b29->SetToolTip(lTexts[2]); figButtonRow3->Add( b29 ); figButtonRow3->Add(5, 5, 0); b30 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 224, 224 ); if(!(b30)) { goto dkctGUILayoutFinished; } b30->SetToolTip(lTexts[2]); figButtonRow3->Add( b30 ); figButtonRow3->Add(5, 5, 0); b31 = new Dk4WxColourPaletteItem( panelFig,wxID_ANY,this, pAppHelper, 255, 214, 0 ); if(!(b31)) { goto dkctGUILayoutFinished; } b31->SetToolTip(lTexts[2]); figButtonRow3->Add( b31 ); figSizerVertical->Add( figButtonRow3 ); figSizerVertical->Add(10, 10, 0); figShaderLabelSizer = new wxBoxSizer( wxHORIZONTAL ); if(!(figShaderLabelSizer)) { goto dkctGUILayoutFinished; } figShaderLabelSizer->Add(10, 10, 1); figShaderLabelText = new wxStaticText( panelFig, wxID_ANY, lTexts[4], wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE ); if(!(figShaderLabelText)) { goto dkctGUILayoutFinished; } figShaderLabelText->SetToolTip(lTexts[6]); figShaderLabelSizer->Add( figShaderLabelText ); figShaderLabelSizer->Add(10, 10, 1); figSizerVertical->Add( figShaderLabelSizer, 0, wxGROW ); figSizerVertical->Add(5, 5, 0); figShaderSlider = new wxSlider( panelFig, ID_SLIDER_SHADE, 0, -20, 20 ); if(!(figShaderSlider)) { goto dkctGUILayoutFinished; } figShaderSlider->SetToolTip(lTexts[7]); figSizerVertical->Add( figShaderSlider, 0, wxGROW ); figSizerVertical->Add(5, 5, 1); figSizerHorizontal->Add( figSizerVertical ); figSizerHorizontal->Add(5, 5, 1); panelFig->SetSizer(figSizerHorizontal); choiceBookInput->AddPage(panelFig, lTexts[26]); panelHtmlNamed = new wxPanel( choiceBookInput, wxID_ANY ); if(!(panelHtmlNamed)) { goto dkctGUILayoutFinished; } htmlNamedSizerHorizontal = new wxBoxSizer( wxHORIZONTAL ); if(!(htmlNamedSizerHorizontal)) { goto dkctGUILayoutFinished; } htmlNamedSizerHorizontal->Add(5, 5, 0); htmlNamedSizerVertical = new wxBoxSizer( wxHORIZONTAL ); if(!(htmlNamedSizerVertical)) { goto dkctGUILayoutFinished; } htmlNamedSizerVertical->Add(5, 5, 0); listHtmlNames = new wxListBox( panelHtmlNamed, ID_HTML_NAMED_LIST, wxDefaultPosition, wxSize(200, 200), saHtmlNames, wxLB_SINGLE|wxLB_HSCROLL|wxLB_NEEDED_SB ); if(!(listHtmlNames)) { goto dkctGUILayoutFinished; } listHtmlNames->SetToolTip(lTexts[8]); htmlNamedSizerVertical->Add( listHtmlNames ); htmlNamedSizerVertical->Add(5, 5, 0); htmlNamedSizerHorizontal->Add( htmlNamedSizerVertical ); htmlNamedSizerHorizontal->Add(5, 5, 0); panelHtmlNamed->SetSizer(htmlNamedSizerHorizontal); choiceBookInput->AddPage(panelHtmlNamed, lTexts[27]); panelHtml216 = new wxPanel( choiceBookInput, wxID_ANY ); if(!(panelHtml216)) { goto dkctGUILayoutFinished; } html216SizerHorizontal = new wxBoxSizer( wxHORIZONTAL ); if(!(html216SizerHorizontal)) { goto dkctGUILayoutFinished; } html216SizerHorizontal->Add(5, 5, 0); html216SizerVertical = new wxBoxSizer( wxVERTICAL ); if(!(html216SizerVertical)) { goto dkctGUILayoutFinished; } html216SizerVertical->Add(250, 5, 0); labelHtml216Red = new wxStaticText( panelHtml216, wxID_ANY, lTexts[9] ); if(!(labelHtml216Red)) { goto dkctGUILayoutFinished; } html216SizerVertical->Add( labelHtml216Red ); sliderHtml216Red = new wxSlider( panelHtml216, ID_SLIDER_RED, 0, 0, 5 ); if(!(sliderHtml216Red)) { goto dkctGUILayoutFinished; } sliderHtml216Red->SetToolTip(lTexts[12]); html216SizerVertical->Add( sliderHtml216Red, 0, wxGROW ); html216SizerVertical->Add(5, 5, 0); labelHtml216Green = new wxStaticText( panelHtml216, wxID_ANY, lTexts[10] ); if(!(labelHtml216Green)) { goto dkctGUILayoutFinished; } html216SizerVertical->Add( labelHtml216Green ); sliderHtml216Green = new wxSlider( panelHtml216, ID_SLIDER_GREEN, 0, 0, 5 ); if(!(sliderHtml216Green)) { goto dkctGUILayoutFinished; } sliderHtml216Green->SetToolTip(lTexts[13]); html216SizerVertical->Add( sliderHtml216Green, 0, wxGROW ); html216SizerVertical->Add(5, 5, 0); labelHtml216Blue = new wxStaticText( panelHtml216, wxID_ANY, lTexts[11] ); if(!(labelHtml216Blue)) { goto dkctGUILayoutFinished; } html216SizerVertical->Add( labelHtml216Blue ); sliderHtml216Blue = new wxSlider( panelHtml216, ID_SLIDER_BLUE, 0, 0, 5 ); if(!(sliderHtml216Blue)) { goto dkctGUILayoutFinished; } sliderHtml216Blue->SetToolTip(lTexts[14]); html216SizerVertical->Add( sliderHtml216Blue, 0, wxGROW ); html216SizerVertical->Add(5, 5, 0); html216SizerHorizontal->Add( html216SizerVertical ); html216SizerHorizontal->Add(5, 5, 0); panelHtml216->SetSizer(html216SizerHorizontal); choiceBookInput->AddPage(panelHtml216, lTexts[28]); choiceBookInput->SetToolTip(lTexts[1]); mainSizerVertical->Add( choiceBookInput ); mainSizerVertical->Add(10, 10, 0); resultSizerHexadecimal = new wxBoxSizer( wxHORIZONTAL ); if(!(resultSizerHexadecimal)) { goto dkctGUILayoutFinished; } hexRed = new wxStaticText( this, wxID_ANY, not_localized_texts[0] ); if(!(hexRed)) { goto dkctGUILayoutFinished; } hexRed->SetToolTip(lTexts[17]); resultSizerHexadecimal->Add( hexRed ); resultSizerHexadecimal->Add(10, 10, 1); hexGreen = new wxStaticText( this, wxID_ANY, not_localized_texts[0], wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE ); if(!(hexGreen)) { goto dkctGUILayoutFinished; } hexGreen->SetToolTip(lTexts[18]); resultSizerHexadecimal->Add( hexGreen ); resultSizerHexadecimal->Add(10, 10, 1); hexBlue = new wxStaticText( this, wxID_ANY, not_localized_texts[0], wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); if(!(hexBlue)) { goto dkctGUILayoutFinished; } hexBlue->SetToolTip(lTexts[19]); resultSizerHexadecimal->Add( hexBlue ); mainSizerVertical->Add( resultSizerHexadecimal, 0, wxGROW ); resultSizerDecimal = new wxBoxSizer( wxHORIZONTAL ); if(!(resultSizerDecimal)) { goto dkctGUILayoutFinished; } decRed = new wxStaticText( this, wxID_ANY, not_localized_texts[1] ); if(!(decRed)) { goto dkctGUILayoutFinished; } decRed->SetToolTip(lTexts[20]); resultSizerDecimal->Add( decRed ); resultSizerDecimal->Add(10, 10, 1); decGreen = new wxStaticText( this, wxID_ANY, not_localized_texts[1], wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE ); if(!(decGreen)) { goto dkctGUILayoutFinished; } decGreen->SetToolTip(lTexts[21]); resultSizerDecimal->Add( decGreen ); resultSizerDecimal->Add(10, 10, 1); decBlue = new wxStaticText( this, wxID_ANY, not_localized_texts[1], wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); if(!(decBlue)) { goto dkctGUILayoutFinished; } decBlue->SetToolTip(lTexts[22]); resultSizerDecimal->Add( decBlue ); mainSizerVertical->Add( resultSizerDecimal, 0, wxGROW ); mainSizerVertical->Add(5, 5, 0); colourViewResult = new Dk4WxColourView( this,wxID_ANY,pAppHelp, r, g, b ); if(!(colourViewResult)) { goto dkctGUILayoutFinished; } colourViewResult->SetMinSize(wxSize(50, 50)); colourViewResult->SetToolTip(lTexts[23]); mainSizerVertical->Add( colourViewResult, 0, wxGROW ); mainSizerVertical->Add(10, 10, 0); buttonsDialog = new wxStdDialogButtonSizer( ); if(!(buttonsDialog)) { goto dkctGUILayoutFinished; } buttonOK = new wxButton( this, wxID_OK, lTexts[24] ); if(!(buttonOK)) { goto dkctGUILayoutFinished; } buttonOK->SetToolTip(lTexts[25]); buttonsDialog->AddButton( buttonOK ); buttonCancel = new wxButton( this, wxID_CANCEL, lTexts[15] ); if(!(buttonCancel)) { goto dkctGUILayoutFinished; } buttonCancel->SetToolTip(lTexts[16]); buttonsDialog->AddButton( buttonCancel ); buttonsDialog->Realize(); mainSizerVertical->Add( buttonsDialog, 0, wxALIGN_CENTER_HORIZONTAL ); mainSizerVertical->Add(10, 10, 0); mainSizerHorizontal->Add( mainSizerVertical ); mainSizerHorizontal->Add(10, 10, 0); SetSizer(mainSizerHorizontal); dkctGUILayoutOK = true; dkctGUILayoutFinished: if(dkctGUILayoutOK) { mainSizerHorizontal->Fit(this); mainSizerHorizontal->SetSizeHints(this); } #line 1358 "Dk4WxColourPalette.wxc" if (dkctGUILayoutOK) { colourViewResult->SetActive(false); colourViewResult->SetMarkActiveInactive(false); decRed->SetForegroundColour(colourRed); decGreen->SetForegroundColour(colourGreen); decBlue->SetForegroundColour(colourBlue); hexRed->SetForegroundColour(colourRed); hexGreen->SetForegroundColour(colourGreen); hexBlue->SetForegroundColour(colourBlue); SetRgbTextLabels(); FindRgbSliderValues(); FindListBoxEntry(); SetTitle(lTexts[0]); wxSize minsize = GetMinSize(); SetMaxSize(minsize); } #line 1375 "Dk4WxColourPalette.wxc" } #line 1378 "Dk4WxColourPalette.wxc" void Dk4WxColourPalette::OnOK(wxCommandEvent & WXUNUSED(event)) { if(IsModal()) { EndModal(wxID_OK); } else { SetReturnCode(wxID_OK); Show(false); } } void Dk4WxColourPalette::OnCancel(wxCommandEvent & WXUNUSED(event)) { if(IsModal()) { EndModal(wxID_CANCEL); } else { SetReturnCode(wxID_CANCEL); Show(false); } } #if wxCHECK_VERSION(3,0,0) void Dk4WxColourPalette::OnChoicebookChanged(wxBookCtrlEvent & event) #else void Dk4WxColourPalette::OnChoicebookChanged(wxChoicebookEvent & event) #endif { int pn; #line 1418 "Dk4WxColourPalette.wxc" pn = event.GetSelection(); if (1 == pn) { if (wxNOT_FOUND != listSelection) { listHtmlNames->SetSelection(listSelection); } } #line 1425 "Dk4WxColourPalette.wxc" } int Dk4WxColourPalette::ShadeColour(int val) { int back; back = val; if (0 < slvshade) { back = (((20 - slvshade) * val) + (slvshade * 255)) / 20; } else { if (0 > slvshade) { back = (val * (20 + slvshade)) / 20; } } return back; } void Dk4WxColourPalette::CorrectShadeLabel(void) { wxString lstr; switch (slvshade) { case -20 : { figShaderLabelText->SetLabel(localizedTexts[3]); } break; case 0 : { figShaderLabelText->SetLabel(localizedTexts[4]); } break; case 20 : { figShaderLabelText->SetLabel(localizedTexts[5]); } break; default : { lstr.Printf(not_localized_texts[2], (5*slvshade)); figShaderLabelText->SetLabel(lstr); } break; } } void Dk4WxColourPalette::SetBaseRGB(int red, int green, int blue) { #line 1476 "Dk4WxColourPalette.wxc" rb = red; gb = green; bb = blue; CorrectGui(REASON_BASE_COLOR); #line 1479 "Dk4WxColourPalette.wxc" } void Dk4WxColourPalette::OnShadeSlider(wxCommandEvent & WXUNUSED(event)) { #line 1487 "Dk4WxColourPalette.wxc" if (!(bIsCorrecting)) { slvshade = figShaderSlider->GetValue(); CorrectGui(REASON_SHADE_SLIDER); } #line 1492 "Dk4WxColourPalette.wxc" } void Dk4WxColourPalette::OnListBoxChanged(wxCommandEvent & WXUNUSED(event)) { int in; unsigned long ul; #line 1502 "Dk4WxColourPalette.wxc" if (!(bIsCorrecting)) { listSelection = in = listHtmlNames->GetSelection(); if ((0 <= in) && (wxNOT_FOUND != in)) { ul = html_colors[in].rgb; r = rb = (int)((ul >> 16) & 0x000000FFUL); g = gb = (int)((ul >> 8) & 0x000000FFUL); b = bb = (int)( ul & 0x000000FFUL); CorrectGui(REASON_LIST_SELECT); } } #line 1513 "Dk4WxColourPalette.wxc" } void Dk4WxColourPalette::OnRgbSlider(wxCommandEvent & WXUNUSED(event)) { #line 1521 "Dk4WxColourPalette.wxc" if (!(bIsCorrecting)) { rb = r = rgbSliderValues[sliderHtml216Red->GetValue()]; gb = g = rgbSliderValues[sliderHtml216Green->GetValue()]; bb = b = rgbSliderValues[sliderHtml216Blue->GetValue()]; CorrectGui(REASON_RGB_SLIDER); } #line 1528 "Dk4WxColourPalette.wxc" } int Dk4WxColourPalette::FindSliderValue(int colval) { long mindiff = 0L; long curdiff; int back = 0; int i; for (i = 0; i < 6; i++) { curdiff = labs(colval - rgbSliderValues[i]); if ((0 == i) || (curdiff < mindiff)) { back = i; mindiff = curdiff; } } return back; } void Dk4WxColourPalette::FindRgbSliderValues(void) { int sl; sl = FindSliderValue(r); slvred = sl; sliderHtml216Red->SetValue(sl); sl = FindSliderValue(g); slvgreen = sl; sliderHtml216Green->SetValue(sl); sl = FindSliderValue(b); slvblue = sl; sliderHtml216Blue->SetValue(sl); } void Dk4WxColourPalette::FindListBoxEntry(void) { size_t i; size_t mini; unsigned long ul; unsigned long curdiff; unsigned long mindiff; unsigned long r0; unsigned long g0; unsigned long b0; mindiff = 0UL; mini = 0; for (i = 0; i < sz_html_colors; i++) { ul = html_colors[i].rgb; r0 = (ul >> 16) & 0x000000FFUL; g0 = (ul >> 8) & 0x000000FFUL; b0 = ul & 0x000000FFUL; r0 = labs((long)r0 - (long)r); g0 = labs((long)g0 - (long)g); b0 = labs((long)b0 - (long)b); r0 = r0 * r0; g0 = g0 * g0; b0 = b0 * b0; curdiff = r0 + g0 + b0; if ((0 == i) || (curdiff < mindiff)) { mindiff = curdiff; mini = i; } } listSelection = mini; listHtmlNames->SetSelection((int)mini); } void Dk4WxColourPalette::SetRgbTextLabels(void) { wxString valstr; valstr.Printf(not_localized_texts[3], r); decRed->SetLabel(valstr); valstr.Printf(not_localized_texts[3], g); decGreen->SetLabel(valstr); valstr.Printf(not_localized_texts[3], b); decBlue->SetLabel(valstr); valstr.Printf(not_localized_texts[4], r); hexRed->SetLabel(valstr); valstr.Printf(not_localized_texts[4], g); hexGreen->SetLabel(valstr); valstr.Printf(not_localized_texts[4], b); hexBlue->SetLabel(valstr); } void Dk4WxColourPalette::CorrectGui(int reason) { #line 1629 "Dk4WxColourPalette.wxc" if(!(bIsCorrecting)) { #line 1630 "Dk4WxColourPalette.wxc" /* Mark correction in progress */ bIsCorrecting = true; /* Apply the changes */ switch (reason) { case REASON_CHOICEBOOK : { } break; case REASON_BASE_COLOR : { #line 1641 "Dk4WxColourPalette.wxc" r = ShadeColour(rb); g = ShadeColour(gb); b = ShadeColour(bb); FindListBoxEntry(); FindRgbSliderValues(); } break; case REASON_SHADE_SLIDER : { #line 1648 "Dk4WxColourPalette.wxc" r = ShadeColour(rb); g = ShadeColour(gb); b = ShadeColour(bb); FindListBoxEntry(); FindRgbSliderValues(); CorrectShadeLabel(); } break; case REASON_LIST_SELECT : { #line 1656 "Dk4WxColourPalette.wxc" FindRgbSliderValues(); slvshade = 0; figShaderSlider->SetValue(0); CorrectShadeLabel(); } break; case REASON_RGB_SLIDER : { #line 1662 "Dk4WxColourPalette.wxc" FindListBoxEntry(); slvshade = 0; figShaderSlider->SetValue(0); CorrectShadeLabel(); } break; } /* Mark correction as done */ bIsCorrecting = false; /* Update result color viewer and dialog window */ SetRgbTextLabels(); colourViewResult->SetRGB(r, g, b); Refresh(); Update(); } #line 1681 "Dk4WxColourPalette.wxc" } int Dk4WxColourPalette::Red(void) const { return r; } int Dk4WxColourPalette::Green(void) const { return g; } int Dk4WxColourPalette::Blue(void) const { return b; } Dk4WxColourPalette::Dk4WxColourPaletteItem::Dk4WxColourPaletteItem() { pParentWindow = NULL; pAppHelp = NULL; w = h = -1; r = g = b = 255; } Dk4WxColourPalette::Dk4WxColourPaletteItem::Dk4WxColourPaletteItem( wxWindow *pParent, wxWindowID wxid, Dk4WxColourPalette *pal, Dk4WxApplicationHelper *appHelper, int red, int green, int blue, wxPoint const & pos, wxSize const & size, long style, wxChar const *name ) : wxControl( pParent, wxid, pos, size, style, wxDefaultValidator, wxString(name) ) { pParentWindow = pal; pAppHelp = appHelper; w = h = -1; r = red; g = green; b = blue; } bool Dk4WxColourPalette::Dk4WxColourPaletteItem::Create( wxWindow *pParent, wxWindowID wxid, Dk4WxColourPalette *pal, Dk4WxApplicationHelper *appHelper, int red, int green, int blue, wxPoint const & pos, wxSize const & size, long style, wxChar const *name ) { bool back = wxControl::Create( pParent, wxid, pos, size, style, wxDefaultValidator, wxString(name) ); pParentWindow = pal; pAppHelp = appHelper; w = h = -1; r = red; g = green; b = blue; return back; } wxSize Dk4WxColourPalette::Dk4WxColourPaletteItem::DoGetBestSize() const { wxSize back(((-1 < w) ? w : 25), ((-1 < h) ? h : 25)); return back; } void Dk4WxColourPalette::Dk4WxColourPaletteItem::OnErase(wxEraseEvent & WXUNUSED(event)) { } void Dk4WxColourPalette::Dk4WxColourPaletteItem::OnPaint(wxPaintEvent & WXUNUSED(event)) { wxBufferedPaintDC useDC(this); wxSize sz = GetClientSize(); wxColour mycolor(r, g, b); #if wxCHECK_VERSION(3,0,0) wxBrush myBrush(mycolor, wxBRUSHSTYLE_SOLID); #else wxBrush myBrush(mycolor, wxSOLID); #endif const wxBrush oldBrus = useDC.GetBrush(); useDC.SetBrush(myBrush); useDC.DrawRectangle(0, 0, sz.GetWidth(), sz.GetHeight()); useDC.SetBrush(wxNullBrush); } void Dk4WxColourPalette::Dk4WxColourPaletteItem::OnLeftMouseButtonDown( wxMouseEvent & WXUNUSED(event) ) { if (NULL != pParentWindow) { pParentWindow->SetBaseRGB(r, g, b); } } int Dk4WxColourPalette::GetDialogStyle(bool bBorder, bool bTitle) { int back = wxDEFAULT_DIALOG_STYLE; back &= (~(wxCLOSE_BOX)); back &= (~(wxSYSTEM_MENU)); if (!(bBorder)) { back &= (~(wxRESIZE_BORDER)); } if (!(bTitle)) { back &= (~(wxCAPTION)); } return back; } /* vim: set ai sw=4 ts=4 : */