From fc298ea7815b9467dea52b4353dfe0926176c9b7 Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Mon, 10 Apr 2006 15:08:10 +0000
Subject: [PATCH] added wxDCClipper ctor overload taking a wxRegion and
 documented it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/classes.tex   |  1 +
 docs/latex/wx/dcclipper.tex | 63 +++++++++++++++++++++++++++++++++++++
 include/wx/dc.h             |  2 ++
 3 files changed, 66 insertions(+)
 create mode 100644 docs/latex/wx/dcclipper.tex

diff --git a/docs/latex/wx/classes.tex b/docs/latex/wx/classes.tex
index 221ce99e7d..f5215e9d22 100644
--- a/docs/latex/wx/classes.tex
+++ b/docs/latex/wx/classes.tex
@@ -72,6 +72,7 @@
 \input datetime.tex
 \input db.tex
 \input dc.tex
+\input dcclipper.tex
 \input ddeclint.tex
 \input ddeconn.tex
 \input ddeservr.tex
diff --git a/docs/latex/wx/dcclipper.tex b/docs/latex/wx/dcclipper.tex
new file mode 100644
index 0000000000..e5dfdce39e
--- /dev/null
+++ b/docs/latex/wx/dcclipper.tex
@@ -0,0 +1,63 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        dcclipper.tex
+%% Purpose:     wxDCClipper documentation
+%% Author:      Vadim Zeitlin
+%% Created:     2006-04-10
+%% RCS-ID:      $Id$
+%% Copyright:   (c) 2006 Vadim Zeitlin
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxDCClipper}}\label{wxdcclipper}
+
+wxDCClipper is a small helper class for setting a clipping region on a 
+\helpref{wxDC}{wxdc} and unsetting it automatically. An object of wxDCClipper
+class is typically created on the stack so that it is automatically destroyed
+when the object goes out of scope. A typical usage example:
+
+\begin{verbatim}
+    void MyFunction(wxDC& dc)
+    {
+        wxDCClipper clip(rect);
+        ... drawing functions here are affected by clipping rect ...
+    }
+
+    void OtherFunction()
+    {
+        wxDC dc;
+        MyFunction(dc);
+        ... drawing functions here are not affected by clipping rect ...
+    }
+\end{verbatim}
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Include files}
+
+<wx/dc.h>
+
+\wxheading{See also}
+
+\helpref{wxDC::SetClippingRegion}{wxdcsetclippingregion}
+
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxDCClipper::wxDCClipper}\label{wxdcclipperctor}
+
+\func{}{wxDCClipper}{\param{wxDC\& }{dc}, \param{const wxRegion\& }{r}}
+
+\func{}{wxDCClipper}{\param{wxDC\& }{dc}, \param{const wxRect\& }{rect}}
+
+\func{}{wxDCClipper}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{w}, \param{int }{h}}
+
+Sets the clipping region to the specified region \arg{r} or rectangle specified
+by either a single \arg{rect} parameter or its position (\arg{x} and \arg{y})
+and size (\arg{w} ad \arg{h}).
+
+The clipping region is automatically unset when this object is destroyed.
+
+
diff --git a/include/wx/dc.h b/include/wx/dc.h
index acb004af10..af5ebf4501 100644
--- a/include/wx/dc.h
+++ b/include/wx/dc.h
@@ -876,6 +876,8 @@ private:
 class WXDLLEXPORT wxDCClipper
 {
 public:
+    wxDCClipper(wxDC& dc, const wxRegion& r) : m_dc(dc)
+        { dc.SetClippingRegion(r); }
     wxDCClipper(wxDC& dc, const wxRect& r) : m_dc(dc)
         { dc.SetClippingRegion(r.x, r.y, r.width, r.height); }
     wxDCClipper(wxDC& dc, wxCoord x, wxCoord y, wxCoord w, wxCoord h) : m_dc(dc)
-- 
2.50.0

