Used wxRegion code from wxX11.
Removed update rect list from wxWindow (not necessary anymore). Simplified and corrected clipping region handling in wxWindowDC. Stopped wxWindowDC::DoBlit from destroying the clipping region. Simplified wxPaintDC code. Added wxWindow::DoCreateScrollBar helper function. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -78,7 +78,7 @@ public:
|
||||
virtual void DestroyClippingRegion();
|
||||
|
||||
// Helper function for setting clipping
|
||||
void SetDCClipping();
|
||||
void SetDCClipping(WXRegion region);
|
||||
|
||||
// implementation from now on
|
||||
// --------------------------
|
||||
@@ -150,15 +150,15 @@ protected:
|
||||
WXGC m_gcBacking;
|
||||
WXDisplay* m_display;
|
||||
wxWindow* m_window;
|
||||
// Current clipping region (incl. paint clip region)
|
||||
WXRegion m_currentRegion;
|
||||
WXRegion m_userRegion; // User-defined clipping region
|
||||
WXPixmap m_pixmap; // Pixmap for drawing on
|
||||
|
||||
// Pixmap for drawing on
|
||||
WXPixmap m_pixmap;
|
||||
// Last clipping region set on th GC, this is the combination
|
||||
// of paint clipping region and all user-defined clipping regions
|
||||
WXRegion m_clipRegion;
|
||||
|
||||
// Not sure if we'll need all of these
|
||||
int m_backgroundPixel;
|
||||
wxColour m_currentColour;
|
||||
// int m_currentBkMode;
|
||||
int m_currentPenWidth ;
|
||||
int m_currentPenJoin ;
|
||||
int m_currentPenCap ;
|
||||
|
@@ -142,15 +142,8 @@ public:
|
||||
// (for wxWindowDC and Motif callbacks only)
|
||||
// -----------------------------------------
|
||||
|
||||
// read/write access to the update rect list
|
||||
const wxRectList& GetUpdateRects() const { return m_updateRects; }
|
||||
|
||||
// Adds a recangle to the updates list
|
||||
void AddUpdateRect(int x, int y, int w, int h)
|
||||
{ m_updateRects.Append(new wxRect(x, y, w, h)); }
|
||||
|
||||
// Empties the m_updateRects list
|
||||
void ClearUpdateRects();
|
||||
void AddUpdateRect(int x, int y, int w, int h);
|
||||
|
||||
void ClearUpdateRegion() { m_updateRegion.Clear(); }
|
||||
void SetUpdateRegion(const wxRegion& region) { m_updateRegion = region; }
|
||||
@@ -189,6 +182,10 @@ protected:
|
||||
|
||||
void DoMoveWindowIntr(int x, int y, int width, int height,
|
||||
int flags);
|
||||
|
||||
// helper function, to remove duplicate code, used in wxScrollBar
|
||||
WXWidget DoCreateScrollBar(WXWidget parent, wxOrientation orientation,
|
||||
void (*callback)());
|
||||
public:
|
||||
WXPixmap GetBackingPixmap() const { return m_backingPixmap; }
|
||||
void SetBackingPixmap(WXPixmap pixmap) { m_backingPixmap = pixmap; }
|
||||
@@ -265,9 +262,6 @@ protected:
|
||||
long m_lastTS; // last timestamp
|
||||
unsigned m_lastButton:2; // last pressed button
|
||||
|
||||
// List of wxRects representing damaged region
|
||||
wxRectList m_updateRects;
|
||||
|
||||
protected:
|
||||
WXWidget m_mainWidget;
|
||||
WXWidget m_hScrollBar;
|
||||
|
@@ -4,7 +4,7 @@
|
||||
#if defined(__WXMSW__)
|
||||
#include "wx/msw/region.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/region.h"
|
||||
#include "wx/x11/region.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#include "wx/gtk/region.h"
|
||||
#elif defined(__WXX11__)
|
||||
|
Reference in New Issue
Block a user