Commit Graph

356 Commits

Author SHA1 Message Date
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
Francesco Montorsi
d181e877b0 use a common m_isInsideYield flag instead of static booleans in all ports; add a IsYielding() test which can help to fix unwanted re-entrancies
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-29 15:03:39 +00:00
Francesco Montorsi
0c14b6c324 fix the incoherence pointed out by ifacecheck between wx docs, that documents usage of the wxFontFamily, wxFontStyle and wxFontWeight enums in wxFont setters and getters, and the actual sources, which use 'int' instead; provided the same backward-compatibility pattern already used for wxBrush,wxPen both against 'int' overloads and against the wxDeprecatedGUIConstants enum values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-03 17:02:25 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Francesco Montorsi
0ef5b1dad1 provide backward-compat wxCursor(int) ctor; remove empty stubs of XBM ctor from all ports except gtk,motif; make all ports emit wxLogError on invalid bitmap types; implement wxCursor(const wxString&, ...) ctor on GTK (not tested yet)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-25 17:56:07 +00:00
Francesco Montorsi
d4f392ea20 use wxStockCursor (as documented and as already implemented in wxMotif) instead of a plain 'int'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-24 19:40:13 +00:00
Vadim Zeitlin
1c0b21e8da attempt to fix compilation after the last change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-22 17:33:10 +00:00
Vadim Zeitlin
ee437b7e1d blind attempt to fix wxBitmap in wxMGL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-20 22:36:51 +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
Václav Slavík
d2f3b08582 wxUniv: implement wxSYS_VSCROLL_X/Y metrics in wxUniv code, they depend on the theme, not lowlovel port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-17 09:41:25 +00:00
Francesco Montorsi
231b9591aa add more pure virtuals to wxBrushBase; fix the GetColour() functions to return a wxColour object and not a reference; remove from docs the non-existent SetColour(const wxString&) overloads
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-28 16:47:58 +00:00
Francesco Montorsi
e86f2cc84a reorganized wxBitmap/wxBitmapHandler classes to use wxBitmapType instead of "long" where possible; made them const-correct; introduce wxBITMAP_SCREEN_DEPTH instead of -1 for clearness (specially in the docs); remove wxBitmapHandler empty stubs and rename wxBitmapHandlerBase as wxBitmapHandler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-25 20:31:48 +00:00
Vadim Zeitlin
1d043598b7 replace wxAddProcessCallback() with wxAppTraits::AddProcessCallback() to fix linking problems in Unix ports; also reduce code duplication between GUI and base versions making src/unix/baseunix.cpp unnecessary any longer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-22 00:07:13 +00:00
Francesco Montorsi
ac3688c0d8 make the Pen/Brush code backward compatible as discussed on wx-dev; marked the blocks of code to deprecate in future with FUTURE_WXWIN_COMPATIBILITY_3_0; add wxCHECK_MSG in all ports to block Get*() calls on invalid objects (as already is for all other refcounted objects and for most ports)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-20 15:08:51 +00:00
Francesco Montorsi
ed7ec76de3 some more build fix for wxPen/wxBrush style changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52577 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-17 00:46:07 +00:00
Francesco Montorsi
82cddbd97a fix also wxPen to use wxPenStyle,wxPenJoin,wxPenCap enums instead of plain int; remove from wxBrushStyle the styles wxPen-specific; add backward-compatible ctor to wxPen; don't include brush.h and pen.h from gdicmn.h, rather move wxPenList,wxBrushList,wxFontList in the relative headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-16 21:11:12 +00:00
Francesco Montorsi
3e6858cdcb introduce wxBrushStyle enum and replace 'int style' occurrences in wxBrush code with 'wxBrushStyle style'; the change is backward compatible and documented in changes.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-16 16:47:57 +00:00
Vadim Zeitlin
17808a7596 move Freeze() and Thaw() to wxWindowBase to ensure that they behave consistently (i.e. recursively, as described in the docs) in all ports; removed different duplications of freeze count from derived classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-05 00:21:31 +00:00
Vadim Zeitlin
8f884a0dcc Fix Ok/IsOk() mess in wxGDIObject-derived classes; also added
wxGDIObject::Create/CloneGDIRefData() and implemented them for (almost) all
ports


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 17:54:20 +00:00
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Vadim Zeitlin
e256b53a3d remove wxWindow::Clear() from wxDFB and wxMGL which was unused (probably replaced by ClearBackground()) and conflicted with methods with the same name in other classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-17 18:22:15 +00:00
Julian Smart
24bd6cb9df Optimized update events by only sending them to visible windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-21 10:51:31 +00:00
Paul Cornett
0728199b91 process pending wx events before sending idle events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-08 05:31:32 +00:00
Vadim Zeitlin
2ddff00c92 don't define wxEventLoop class differently in GUI and base, this breaks the
ODR and hence results in many problems in practice; instead use wxEventLoopBase
whenever possible and #define wxEventLoop differently in console applications


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-22 02:30:01 +00:00
Vadim Zeitlin
b46b1d59d6 implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-14 23:43:39 +00:00
Robert Roebling
04ab8b6ddf Moved all the coordinate system calculation to wxDCBase
and thus removed all the duplicated code in all wxDC
   classes.
  Problematic is that wxSVGFileDC and wxPostscriptDC inherit
   from wxDC and therefore include platform specific code
   (also before this change) so I chose to override all
   SetLogicalOrigin() etc. methods in these classes and
   call their wxDCBase methods thereby circumventing the
   platform dependent code.
  I'm afraid the Mac code will require updating, too.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-02 11:05:45 +00:00
Vadim Zeitlin
c94f845b16 changed wxDC::GetTextExtent() and related methods to take const wxFont pointer, for consistency with wxWindow::GetTextExtent() and because it generally doesn't need a non-const font
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-25 01:49:47 +00:00
Vadim Zeitlin
ad02525dad don't check whether the window is shown and enabled in AcceptsFocus() itself
as it makes overriding it in derived classes problematic; provide a separate
non virtual CanAcceptFocus() method checking whether the window accepts focus
and if it can accept it now and use it instead of AcceptsFocus(); documented
AcceptsFocus() and AcceptsFocusFromKeyboard()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 22:36:24 +00:00
Václav Slavík
f0c3b72446 removed code that already exist in ~wxTLWBase from ~wxTLW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-10 15:53:29 +00:00
Vadim Zeitlin
16d17da6ca explicitly call OnExit() in the ports which don't use wxEventLoopManual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43840 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-06 23:28:44 +00:00
Włodzimierz Skiba
f8f0558494 Use same type in both results of A?B:C operator (Tinderbox build fix).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 06:48:03 +00:00
Robin Dunn
4e2251ecd3 Get/Set LayoutDirection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-11 04:09:58 +00:00
Václav Slavík
d7ae4a6264 moved wxMGL's font management code to common so that it can be reused by wxDFB; implemented wxDFB part
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-20 20:45:57 +00:00
Václav Slavík
d04f9b8e31 don't expose M_FONTDATA in public header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-20 16:43:55 +00:00
Václav Slavík
68c957045a don't expose M_FONTDATA in public header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-20 16:21:08 +00:00
Václav Slavík
873fd4af5f don't expose M_FONTDATA in public header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-20 16:14:01 +00:00
Włodzimierz Skiba
320bf9ceec Add wxRegion ctor from array of points to wxMGL.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-10 19:58:43 +00:00
Vadim Zeitlin
d395dbab76 compilation fix for last fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43002 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-03 23:34:24 +00:00
Vadim Zeitlin
51b7f9464d compilation fix: must include wx/dcmemory.h instead of wx/mgl/dcmemory.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-03 19:45:17 +00:00
Vadim Zeitlin
e001091c6f compilation fix for wxPenRefData operator==()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-03 19:15:33 +00:00
Vadim Zeitlin
580a3876f6 use IsSameAs() instead of wxPalette::operator==() which doesn't exist any more
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-03 17:42:02 +00:00
Vadim Zeitlin
cf6824d93d use wxMemoryDC::SelectObjectAsSource() for const wxBitmaps
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-03 17:37:36 +00:00
Vadim Zeitlin
a3ab1c1801 renamed IsRefTo() to IsSameAs() (do complain if this is not more clear) and
changed its signature to take a const reference instead of a pointer which
simplifies the code and makes it safer as well


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 22:03:53 +00:00
Vadim Zeitlin
fea35690f1 Added wxMemoryDC::SelectObjectAsSource() and make SelectObject() unshare
the bitmap to ensure that no other bitmaps are modified; also remove some code
duplication by introducing wxMemoryDCBase (patch 1580745)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 19:41:46 +00:00
Vadim Zeitlin
55ccdb93e4 COW cleanup patch (1583966):
1. perform deep comparison for the classes for which it makes sense in the
   ports where this wasn't done yet
2. remove (shallow) comparison operators for the classes for which it does
   not make sense (such as wxBitmap)
3. makes wxBitmap use COW on all ports
4. adds wxObject::IsRefTo()
5. centralizes and improves COW docs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 19:26:48 +00:00
Robin Dunn
432efcb004 wxMemoryDC constructor now optionally accepts a wxBitmap parameter,
calling SelectObject itself if a valid bitmap is passed.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-13 18:48:36 +00:00
Vadim Zeitlin
b7cacb43db add IsOk() to all classes having Ok() method (patch 1570985)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 21:56:55 +00:00
Paul Cornett
452418c4b0 Move some things to wxBitmapBase to avoid much duplication.
Use proper const for XPM data, and const void* for arbitary bitmap data.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 08:04:49 +00:00
Włodzimierz Skiba
3d5f724f8e Tinderbox build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-02 07:19:17 +00:00
Vadim Zeitlin
87f83ac867 The Lesser wxMask Refactoring: merged wxMGL and wxDFB version, added wxMaskBase which could/should be used by other ports later
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-28 23:02:39 +00:00