fixed simple drawable functions
fluxgen fluxgen
2 files changed,
67 insertions(+),
2 deletions(-)
M
src/FbTk/FbWindow.cc
→
src/FbTk/FbWindow.cc
@@ -19,7 +19,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: FbWindow.cc,v 1.10 2003/04/17 14:16:20 fluxgen Exp $ +// $Id: FbWindow.cc,v 1.11 2003/04/25 17:32:21 fluxgen Exp $ #include "FbWindow.hh" #include "EventManager.hh"@@ -161,6 +161,59 @@ }
void FbWindow::raise() { XRaiseWindow(s_display, m_window); +} + +void FbWindow::copyArea(Drawable src, GC gc, + int src_x, int src_y, + int dest_x, int dest_y, + unsigned int width, unsigned int height) { + if (window() == 0 || src == 0 || gc == 0) + return; + XCopyArea(s_display, + src, window(), gc, + src_x, src_y, + dest_x, dest_y, + width, height); +} + +void FbWindow::fillRectangle(GC gc, int x, int y, + unsigned int width, unsigned int height) { + if (window() == 0 || gc == 0) + return; + XFillRectangle(s_display, + window(), gc, + x, y, + width, height); +} + +void FbWindow::drawRectangle(GC gc, int x, int y, + unsigned int width, unsigned int height) { + if (window() == 0 || gc == 0) + return; + XDrawRectangle(s_display, + window(), gc, + x, y, + width, height); +} + +void FbWindow::fillPolygon(GC gc, XPoint *points, int npoints, + int shape, int mode) { + if (window() == 0 || gc == 0 || points == 0 || npoints == 0) + return; + XFillPolygon(s_display, + window(), gc, points, npoints, + shape, mode); +} + +void FbWindow::drawLine(GC gc, int start_x, int start_y, + int end_x, int end_y) { + if (window() == 0 || gc == 0) + return; + XDrawLine(s_display, + window(), + gc, + start_x, start_y, + end_x, end_y); } int FbWindow::screenNumber() const {
M
src/FbTk/FbWindow.hh
→
src/FbTk/FbWindow.hh
@@ -19,7 +19,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: FbWindow.hh,v 1.10 2003/04/16 16:01:38 fluxgen Exp $ +// $Id: FbWindow.hh,v 1.11 2003/04/25 17:31:38 fluxgen Exp $ #ifndef FBTK_FBWINDOW_HH #define FBTK_FBWINDOW_HH@@ -72,6 +72,18 @@ virtual void moveResize(int x, int y, unsigned int width, unsigned int height);
virtual void lower(); virtual void raise(); + void copyArea(Drawable src, GC gc, + int src_x, int src_y, + int dest_x, int dest_y, + unsigned int width, unsigned int height); + void fillRectangle(GC gc, int x, int y, + unsigned int width, unsigned int height); + void drawRectangle(GC gc, int x, int y, + unsigned int width, unsigned int height); + void fillPolygon(GC gc, XPoint *points, int npoints, + int shape, int mode); + void drawLine(GC gc, int start_x, int start_y, + int end_x, int end_y); const FbWindow *parent() const { return m_parent; } Window window() const { return m_window; }