Vadim Zeitlin
c92374f0a2
Fix crash when drawing bitmaps with mask in wxGTK with GTK+ < 2.20.
...
r73386 introduced a crash in wxGTK drawing code when using old GTK+ versions
by releasing the mask pixmap prematurely. Apparently GTK+ itself was fixed at
some time in 2.19.x time frame but work around the bug for the sake of older
GTK+ versions in wxGTK itself by simply releasing the pixmap at the end of
DoDrawBitmap(), as pre-r73386 code did.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-21 14:32:04 +00:00
Julian Smart
8f48176bbf
Invalid conversion compile error fix (GTK+ 2.12.9)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-04 13:54:17 +00:00
Paul Cornett
5ca21fe7bf
add wxMask::GetBitmap(), closes #9381
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 06:28:11 +00:00
Paul Cornett
d4ca3c5d8d
draw monochrome source directly onto destination when it is also monochrome
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:04:57 +00:00
Paul Cornett
eb6ee8ab39
make some reference handling a little more direct and less obscure
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 01:46:50 +00:00
Paul Cornett
4787c92d39
use const arrays for wxDC array parameters, closes #10712
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-18 17:27:51 +00:00
Paul Cornett
76274efd34
revert r73185, it should no longer be needed after r73231
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-21 05:45:02 +00:00
Paul Cornett
ffc28384ca
Get DC size from GDK window if possible, client size can unfortunately be wrong
...
This should fix wxDC::Clear() not clearing the whole window on Ubuntu 12.04 with overlay scrollbars
see #14871
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-14 06:25:00 +00:00
Vadim Zeitlin
8cd79b7af0
Factor out text measurement from wxDC and wxWindow into wxTextMeasure.
...
Add a new private wxTextMeasure class implementing methods for measuring text
and move the often duplicated (but not always identically) code for doing the
same from wxDC and wxWindow into it.
Currently this class is only really implemented in wxMSW and wxGTK.
Also extend the test for text measuring functions and rename it to
MeasuringTextTestCase from MeasuringContextTestCase as it's not wxGC-specific
any more.
Closes #14705 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72699 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-17 22:35:49 +00:00
Paul Cornett
c49ba2113c
no real changes, just remove unnecessary indentation and scoping after r72001
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 17:17:53 +00:00
Paul Cornett
4e621d2471
update minimum GTK2 version requirement to 2.6
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-10 16:39:44 +00:00
Paul Cornett
8e98dabce4
fix building with GTK+ < 2.8
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-22 18:09:43 +00:00
Paul Cornett
e0564c1c2f
fix test for transparent pen broken in r65820
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70824 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-06 04:51:40 +00:00
Vadim Zeitlin
1442168125
Implement wxBG_STYLE_TRANSPARENT support for wxGTK.
...
Use composited windows if supported by GTK+ for wxWindows with this background
style.
Also add wxWindow::IsTransparentBackgroundSupported() and show how to use it
in the sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-11 16:26:52 +00:00
Paul Cornett
99f8cf22db
move Pango underline workaround into wxFont::GTKSetPangoAttrs
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-29 08:14:34 +00:00
Paul Cornett
c7e99122a0
move SetPangoAttrsForFont to wxFont
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-29 08:00:15 +00:00
Vadim Zeitlin
c7a49742ec
Add support for stricken-through fonts.
...
Support stricken-through fonts in wxMSW and wxGTK (including special support
in wxStaticText and wxTextCtrl).
Closes #9907 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-23 11:28:28 +00:00
Vadim Zeitlin
2f5dec2e52
Use #ifdef, not #if, to check for __WXGTK26__ symbol.
...
This fixes gcc warning given if __WXGTK26__ is not defined (which almost never
happens nowadays but still).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-27 09:46:27 +00:00
Václav Slavík
fc9ab22a76
Use accessor functions instead of deprecated GTK+ macros.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-26 15:49:57 +00:00
Vadim Zeitlin
1780a38b7b
Use unsigned char for XBM bitmaps data.
...
This fixes compilation with g++ in C++0x mode in which conversions of
constants not fitting into signed char range to char are not permitted.
Closes #12575 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-18 23:43:20 +00:00
Vadim Zeitlin
e6777e6575
Add wx{Pen,Brush}::Is[Non]Transparent() methods and use them.
...
Using GetStyle() == wx{PEN,BRUSH}STYLE_TRANSPARENT doesn't work for
uninitialized pen or brush objects so add convenient helpers which do work for
them.
Use the new helper functions everywhere instead of explicitly checking for
style. This makes the code shorter and more clear and also fixes some bugs (at
least those in GTK printing code).
Notice that this patch removes the main reason for explicitly initializing
m_pen and m_brush in wxGTKDCImpl ctor but this initialization still can't be
removed, at least for the latter, as doing this somehow breaks GetPixel(). It
would be nice to understand why and do remove this initialization so that a
newly created DC doesn't have any non-default pen nor brush.
Closes #12522 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-15 23:46:46 +00:00
Vadim Zeitlin
1b46c6697f
Test for wxPen validity before testing for its style in wxGTK wxDC.
...
Calling wxPen::GetStyle() on an invalid pen resulted in an assert, breaking
the grid column drawing while reordering them, for example, because the code
in wxGrid uses wxDC::DrawRectangle() after calling SetPen(wxNullPen).
Fix this by testing for the pen validity first.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-03 10:35:49 +00:00
Paul Cornett
f089940f68
Reverse hierarchy of wxPizza GdkWindows
...
widget->window must be topmost in order for GTK+ to calculate DND drop coordinates correctly
fixes #11834
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-29 01:16:06 +00:00
Vadim Zeitlin
15b8500726
Correct the bounding box calculation in wxGTK wxDC::DrawBitmap().
...
Take into account the axis direction when calculating the bounding box.
This is consistent with not reversing the bitmap even when the axis are
reversed which is probably the expected behaviour.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-03 21:07:42 +00:00
Vadim Zeitlin
2dcf60dab4
Correct bounding box calculation in wxGTK wxDC::DrawText().
...
Physical coordinates were incorrectly used to update the bounding box instead
of the logical ones.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-03 21:07:32 +00:00
Vadim Zeitlin
9a83f86094
Globally replace _T() with wxT().
...
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660 ).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
657a8a3598
first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +00:00
Francesco Montorsi
b5791cc7af
add the wxFont(const wxSize& pixelSize, ...) ctor to all ports; add some wxCHECK_MSGs to ensure that the wxSize objects contains non-negative arguments; document that passing zero for the width parameter is allowed; other minor doc fixes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-15 16:28:33 +00:00
Robert Roebling
496e7ec647
More GTK prefixing for internal methods
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-13 10:25:38 +00:00
Paul Cornett
b666ade784
use the right GdkWindow and origin for non-pizza widget with wxClientDC
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-05 05:45:40 +00:00
Vadim Zeitlin
d3b9f782ef
don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Francesco Montorsi
6de4336e38
guard against NULL parents
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-11 00:40:09 +00:00
Francesco Montorsi
89efaf2b65
change generic ints to enums in wxDC ( closes #9959 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 14:21:53 +00:00
Paul Cornett
a909ef16ad
build fix for GTK+ versions prior to 2.14
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-04 05:56:07 +00:00
Paul Cornett
e7f83cccd8
native implementation of DoGetPixel()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-04 02:58:52 +00:00
Paul Cornett
02cecc4dc2
Complete rewrite of DoDrawBitmap() and DoBlit().
...
Blit should now correctly handle all combinations of scaling, clipping, and mask.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-04 02:40:11 +00:00
Paul Cornett
3630713bd0
restore clearing of clipped mask, turns out it is needed
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-08 08:58:13 +00:00
Paul Cornett
3d5b482773
remove redundant clearing of clipped mask
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 05:51:42 +00:00
Paul Cornett
6226d1e97b
fix bitmap position with RTL and non-default scale
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-07 05:50:11 +00:00
Vadim Zeitlin
c11bdf68b8
make ellipses drawn with transparent pen more wxGC/Cairo-like ( closes #9899 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-14 00:12:02 +00:00
Vadim Zeitlin
f3d7473941
add a scoped_ptr-like wxGtkObject class which calls g_object_unref() automatically and use it in some GC-related code
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-27 01:06:58 +00:00
Vadim Zeitlin
98d8a7ece5
honour user scale and source offset in wxDC::Blit() ( #2605 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-27 00:52:13 +00:00
Vadim Zeitlin
e1bd1db228
use Pango to draw rotated text if possible (this supports text background and should be more efficient), fall back to the old method for old libraries ( closes #9861 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 22:31:36 +00:00
Robert Roebling
5f22e8ccf8
Ticket #9858 gtk wxDC::DrawText() - draw text background natively
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 12:06:11 +00:00
Robert Roebling
8e69bf8e84
Support NOR logical function
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54923 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 14:14:17 +00:00
Vadim Zeitlin
fdaad94e75
deprecate wxDC::SetClippingRegion(wxRegion) overload and replace it with SetDeviceClippingRegion() to avoid confusion due to use of different kind of coordinates in this and other overloads of the same function; also rename wxDCImpl::DoSetClippingRegionAsRegion() to DoSetDeviceClippingRegion(); finally use bounding box of the region passed to wxDCClipper ctor to avoid interpreting coordinates differently for different ctors of the same class (see #8970 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-08 01:45:56 +00:00
Robert Roebling
d225267e66
Made the various logical 2 device transforms consistent with what's drawn on all platforms
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-19 12:42:11 +00:00
Paul Cornett
460d7f8221
don't change brush settings in SetBackgroundMode(), it is only supposed to affect text background, bug 1480986
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-11 20:17:30 +00:00
Robert Roebling
0b822969a6
Added new wxGraphicsContext:Create( wxPrinterDC ) instead of wxDC:CreateGraphicsContext
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-28 20:39:57 +00:00
Robert Roebling
2b44ffc0e7
Added wxDC::CreateGraphicsContext and implemented it for a few DCs
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-25 11:05:16 +00:00