diff options
-rw-r--r-- | src/FbTk/FbWindow.cc | 55 | ||||
-rw-r--r-- | src/FbTk/FbWindow.hh | 14 |
2 files changed, 67 insertions, 2 deletions
diff --git a/src/FbTk/FbWindow.cc b/src/FbTk/FbWindow.cc index 1eabd69..f0ddaad 100644 --- a/src/FbTk/FbWindow.cc +++ b/src/FbTk/FbWindow.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: FbWindow.cc,v 1.10 2003/04/17 14:16:20 fluxgen Exp $ | 22 | // $Id: FbWindow.cc,v 1.11 2003/04/25 17:32:21 fluxgen Exp $ |
23 | 23 | ||
24 | #include "FbWindow.hh" | 24 | #include "FbWindow.hh" |
25 | #include "EventManager.hh" | 25 | #include "EventManager.hh" |
@@ -163,6 +163,59 @@ void FbWindow::raise() { | |||
163 | XRaiseWindow(s_display, m_window); | 163 | XRaiseWindow(s_display, m_window); |
164 | } | 164 | } |
165 | 165 | ||
166 | void FbWindow::copyArea(Drawable src, GC gc, | ||
167 | int src_x, int src_y, | ||
168 | int dest_x, int dest_y, | ||
169 | unsigned int width, unsigned int height) { | ||
170 | if (window() == 0 || src == 0 || gc == 0) | ||
171 | return; | ||
172 | XCopyArea(s_display, | ||
173 | src, window(), gc, | ||
174 | src_x, src_y, | ||
175 | dest_x, dest_y, | ||
176 | width, height); | ||
177 | } | ||
178 | |||
179 | void FbWindow::fillRectangle(GC gc, int x, int y, | ||
180 | unsigned int width, unsigned int height) { | ||
181 | if (window() == 0 || gc == 0) | ||
182 | return; | ||
183 | XFillRectangle(s_display, | ||
184 | window(), gc, | ||
185 | x, y, | ||
186 | width, height); | ||
187 | } | ||
188 | |||
189 | void FbWindow::drawRectangle(GC gc, int x, int y, | ||
190 | unsigned int width, unsigned int height) { | ||
191 | if (window() == 0 || gc == 0) | ||
192 | return; | ||
193 | XDrawRectangle(s_display, | ||
194 | window(), gc, | ||
195 | x, y, | ||
196 | width, height); | ||
197 | } | ||
198 | |||
199 | void FbWindow::fillPolygon(GC gc, XPoint *points, int npoints, | ||
200 | int shape, int mode) { | ||
201 | if (window() == 0 || gc == 0 || points == 0 || npoints == 0) | ||
202 | return; | ||
203 | XFillPolygon(s_display, | ||
204 | window(), gc, points, npoints, | ||
205 | shape, mode); | ||
206 | } | ||
207 | |||
208 | void FbWindow::drawLine(GC gc, int start_x, int start_y, | ||
209 | int end_x, int end_y) { | ||
210 | if (window() == 0 || gc == 0) | ||
211 | return; | ||
212 | XDrawLine(s_display, | ||
213 | window(), | ||
214 | gc, | ||
215 | start_x, start_y, | ||
216 | end_x, end_y); | ||
217 | } | ||
218 | |||
166 | int FbWindow::screenNumber() const { | 219 | int FbWindow::screenNumber() const { |
167 | return m_screen_num; | 220 | return m_screen_num; |
168 | } | 221 | } |
diff --git a/src/FbTk/FbWindow.hh b/src/FbTk/FbWindow.hh index 186ed15..d8ed7a9 100644 --- a/src/FbTk/FbWindow.hh +++ b/src/FbTk/FbWindow.hh | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: FbWindow.hh,v 1.10 2003/04/16 16:01:38 fluxgen Exp $ | 22 | // $Id: FbWindow.hh,v 1.11 2003/04/25 17:31:38 fluxgen Exp $ |
23 | 23 | ||
24 | #ifndef FBTK_FBWINDOW_HH | 24 | #ifndef FBTK_FBWINDOW_HH |
25 | #define FBTK_FBWINDOW_HH | 25 | #define FBTK_FBWINDOW_HH |
@@ -72,6 +72,18 @@ public: | |||
72 | virtual void lower(); | 72 | virtual void lower(); |
73 | virtual void raise(); | 73 | virtual void raise(); |
74 | 74 | ||
75 | void copyArea(Drawable src, GC gc, | ||
76 | int src_x, int src_y, | ||
77 | int dest_x, int dest_y, | ||
78 | unsigned int width, unsigned int height); | ||
79 | void fillRectangle(GC gc, int x, int y, | ||
80 | unsigned int width, unsigned int height); | ||
81 | void drawRectangle(GC gc, int x, int y, | ||
82 | unsigned int width, unsigned int height); | ||
83 | void fillPolygon(GC gc, XPoint *points, int npoints, | ||
84 | int shape, int mode); | ||
85 | void drawLine(GC gc, int start_x, int start_y, | ||
86 | int end_x, int end_y); | ||
75 | 87 | ||
76 | const FbWindow *parent() const { return m_parent; } | 88 | const FbWindow *parent() const { return m_parent; } |
77 | Window window() const { return m_window; } | 89 | Window window() const { return m_window; } |