Use wxBitmapBundle in combo sample
Replace PNG files with SVG ones. Closes #22103.
@ -16,7 +16,7 @@ wx_add_sample(calendar DEPENDS wxUSE_CALENDARCTRL)
|
||||
wx_add_sample(caret DEPENDS wxUSE_CARET)
|
||||
wx_add_sample(clipboard DEPENDS wxUSE_CLIPBOARD)
|
||||
wx_add_sample(collpane DEPENDS wxUSE_COLLPANE)
|
||||
wx_add_sample(combo DATA dropbuth.png dropbutn.png dropbutp.png DEPENDS wxUSE_COMBOCTRL)
|
||||
wx_add_sample(combo DATA dropbuth.svg dropbutn.svg dropbutp.svg three-dots.svg DEPENDS wxUSE_COMBOCTRL)
|
||||
wx_add_sample(config conftest.cpp DEPENDS wxUSE_CONFIG)
|
||||
wx_add_sample(console CONSOLE IMPORTANT)
|
||||
wx_add_sample(dataview IMPORTANT dataview.cpp mymodels.cpp mymodels.h DEPENDS wxUSE_DATAVIEWCTRL)
|
||||
|
@ -184,7 +184,7 @@ combo$(EXEEXT): $(COMBO_OBJECTS) $(__combo___win32rc)
|
||||
|
||||
data:
|
||||
@mkdir -p .
|
||||
@for f in dropbuth.png dropbutn.png dropbutp.png; do \
|
||||
@for f in dropbuth.svg dropbutn.svg dropbutp.svg three-dots.svg; do \
|
||||
if test ! -f ./$$f -a ! -d ./$$f ; \
|
||||
then x=yep ; \
|
||||
else x=`find $(srcdir)/$$f -newer ./$$f -print` ; \
|
||||
|
@ -12,9 +12,10 @@
|
||||
|
||||
<wx-data id="data">
|
||||
<files>
|
||||
dropbuth.png
|
||||
dropbutn.png
|
||||
dropbutp.png
|
||||
dropbuth.svg
|
||||
dropbutn.svg
|
||||
dropbutp.svg
|
||||
three-dots.svg
|
||||
</files>
|
||||
</wx-data>
|
||||
|
||||
|
@ -538,32 +538,7 @@ public:
|
||||
style | wxCC_STD_BUTTON,
|
||||
validator,name);
|
||||
|
||||
//
|
||||
// Prepare custom button bitmap (just '...' text)
|
||||
wxMemoryDC dc;
|
||||
wxBitmap bmp(12,16);
|
||||
dc.SelectObject(bmp);
|
||||
|
||||
// Draw transparent background
|
||||
wxColour magic(255,0,255);
|
||||
wxBrush magicBrush(magic);
|
||||
dc.SetBrush( magicBrush );
|
||||
dc.SetPen( *wxTRANSPARENT_PEN );
|
||||
dc.DrawRectangle(0,0,bmp.GetWidth(),bmp.GetHeight());
|
||||
|
||||
// Draw text
|
||||
wxString str = "...";
|
||||
int w,h;
|
||||
dc.GetTextExtent(str, &w, &h, 0, 0);
|
||||
dc.DrawText(str, (bmp.GetWidth()-w)/2, (bmp.GetHeight()-h)/2);
|
||||
|
||||
dc.SelectObject( wxNullBitmap );
|
||||
|
||||
// Finalize transparency with a mask
|
||||
wxMask *mask = new wxMask( bmp, magic );
|
||||
bmp.SetMask( mask );
|
||||
|
||||
SetButtonBitmaps(bmp,true);
|
||||
SetButtonBitmaps(wxBitmapBundle::FromSVGFile("three-dots.svg", wxSize(16, 16)), true);
|
||||
}
|
||||
|
||||
virtual void OnButtonClick() wxOVERRIDE
|
||||
@ -852,17 +827,14 @@ MyFrame::MyFrame(const wxString& title)
|
||||
);
|
||||
|
||||
// Load images from disk
|
||||
wxImage imgNormal("dropbutn.png");
|
||||
wxImage imgPressed("dropbutp.png");
|
||||
wxImage imgHover("dropbuth.png");
|
||||
wxBitmapBundle bmpNormal = wxBitmapBundle::FromSVGFile("dropbutn.svg", wxSize(16, 16));
|
||||
wxBitmapBundle bmpPressed = wxBitmapBundle::FromSVGFile("dropbutp.svg", wxSize(16, 16));
|
||||
wxBitmapBundle bmpHover = wxBitmapBundle::FromSVGFile("dropbuth.svg", wxSize(16, 16));
|
||||
|
||||
if ( imgNormal.IsOk() && imgPressed.IsOk() && imgHover.IsOk() )
|
||||
if ( bmpNormal.IsOk() && bmpPressed.IsOk() && bmpHover.IsOk() )
|
||||
{
|
||||
wxBitmap bmpNormal(imgNormal);
|
||||
wxBitmap bmpPressed(imgPressed);
|
||||
wxBitmap bmpHover(imgHover);
|
||||
odc->SetButtonBitmaps(bmpNormal,false,bmpPressed,bmpHover);
|
||||
odc2->SetButtonBitmaps(bmpNormal,true,bmpPressed,bmpHover);
|
||||
odc->SetButtonBitmaps(bmpNormal, false, bmpPressed, bmpHover);
|
||||
odc2->SetButtonBitmaps(bmpNormal, true, bmpPressed, bmpHover);
|
||||
}
|
||||
else
|
||||
wxLogError("Dropbutton images not found");
|
||||
|
Before Width: | Height: | Size: 371 B |
7
samples/combo/dropbuth.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="17.526" height="17.526" style="" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect id="backgroundrect" class="" width="100%" height="100%" fill="none" style=""/>
|
||||
<g class="currentLayer" style=""><title>Layer 1</title><g id="svg_1" class="selected" fill="#6767e7">
|
||||
<g id="svg_2" fill="#6767e7">
|
||||
<path id="svg_3" d="m8.417 17.279s0.444 0.518 0.909 0.053c0.639-0.64 6.547-6.742 6.547-6.742s0.818-0.813-0.266-0.813h-2.811s0-0.471 0-1.19v-8.199s0.012-0.388-0.488-0.388h-6.911c-0.702 0-0.58 0.464-0.58 0.464v8.181 1.326s-2.155 0-3.045 0c-0.891 0-0.071 0.776-0.071 0.776l6.716 6.532z" fill="#6767e7" style=""/>
|
||||
</g>
|
||||
</g></g></svg>
|
After Width: | Height: | Size: 705 B |
Before Width: | Height: | Size: 237 B |
4
samples/combo/dropbutn.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Capa_1" enable-background="new 0 0 17.526 17.526" version="1.1" viewBox="0 0 17.526 17.526" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m8.417 17.279s0.444 0.518 0.909 0.053c0.639-0.64 6.547-6.742 6.547-6.742s0.818-0.813-0.266-0.813h-2.811s0-0.471 0-1.19v-8.199s0.012-0.388-0.488-0.388h-6.911c-0.702 0-0.58 0.464-0.58 0.464v8.181 1.326s-2.155 0-3.045 0c-0.891 0-0.071 0.776-0.071 0.776l6.716 6.532z" fill="#030104"/>
|
||||
</svg>
|
After Width: | Height: | Size: 498 B |
Before Width: | Height: | Size: 366 B |
7
samples/combo/dropbutp.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="17.526" height="17.526" style="" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><rect id="backgroundrect" class="" width="100%" height="100%" fill="none" style=""/>
|
||||
<g class="currentLayer" style=""><title>Layer 1</title><g id="svg_1" class="selected" fill="#0404b8">
|
||||
<g id="svg_2" fill="#0404b8">
|
||||
<path id="svg_3" d="m8.417 17.279s0.444 0.518 0.909 0.053c0.639-0.64 6.547-6.742 6.547-6.742s0.818-0.813-0.266-0.813h-2.811s0-0.471 0-1.19v-8.199s0.012-0.388-0.488-0.388h-6.911c-0.702 0-0.58 0.464-0.58 0.464v8.181 1.326s-2.155 0-3.045 0c-0.891 0-0.071 0.776-0.071 0.776l6.716 6.532z" fill="#0404b8" style=""/>
|
||||
</g>
|
||||
</g></g></svg>
|
After Width: | Height: | Size: 705 B |
@ -222,7 +222,7 @@ $(OBJS)\combo.exe: $(COMBO_OBJECTS) $(OBJS)\combo_sample_rc.o
|
||||
|
||||
data:
|
||||
if not exist $(OBJS) mkdir $(OBJS)
|
||||
for %%f in (dropbuth.png dropbutn.png dropbutp.png) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS)
|
||||
for %%f in (dropbuth.svg dropbutn.svg dropbutp.svg three-dots.svg) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS)
|
||||
|
||||
$(OBJS)\combo_sample_rc.o: ./../../samples/sample.rc
|
||||
$(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_1) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../samples --define NOPCH
|
||||
|
@ -431,7 +431,7 @@ $(OBJS)\combo.exe: $(COMBO_OBJECTS) $(OBJS)\combo_sample.res
|
||||
|
||||
data:
|
||||
if not exist $(OBJS) mkdir $(OBJS)
|
||||
for %f in (dropbuth.png dropbutn.png dropbutp.png) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
|
||||
for %f in (dropbuth.svg dropbutn.svg dropbutp.svg three-dots.svg) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
|
||||
|
||||
$(OBJS)\combo_sample.res: .\..\..\samples\sample.rc
|
||||
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_3_p_1) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_1) $(__TARGET_CPU_COMPFLAG_p_1) /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_1_p) /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\samples /d NOPCH .\..\..\samples\sample.rc
|
||||
|
4
samples/combo/three-dots.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Capa_1" enable-background="new 0 0 32.055 32.055" version="1.1" viewBox="0 0 32.055 32.055" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m3.968 12.061c-2.193 0-3.968 1.774-3.968 3.966s1.773 3.967 3.968 3.967c2.189 0 3.966-1.772 3.966-3.967 0-2.192-1.777-3.966-3.966-3.966zm12.265 0c-2.188 0-3.968 1.773-3.968 3.965s1.778 3.967 3.968 3.967 3.97-1.772 3.97-3.967c-2e-3 -2.191-1.78-3.965-3.97-3.965zm11.857 0c-2.192 0-3.969 1.774-3.969 3.967 0 2.19 1.774 3.965 3.969 3.965 2.188 0 3.965-1.772 3.965-3.965s-1.777-3.967-3.965-3.967z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 611 B |