aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/FbTk/FbWindow.cc55
-rw-r--r--src/FbTk/FbWindow.hh14
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
166void 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
179void 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
189void 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
199void 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
208void 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
166int FbWindow::screenNumber() const { 219int 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; }