X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdisplay%2Fsp-ctrlquadr.cpp;h=c29aecb96d2ebb6f162980c2c8580bb3112b8bad;hb=0dc33d4ce43e0bb49c63aa53b826ec4a1ff68e28;hp=6c271b2de30a92115a6eb34b227d5a2eba1e5c65;hpb=055bb425d5d2ab1c5c81df150d221a6f9b507cd4;p=inkscape.git diff --git a/src/display/sp-ctrlquadr.cpp b/src/display/sp-ctrlquadr.cpp index 6c271b2de..c29aecb96 100644 --- a/src/display/sp-ctrlquadr.cpp +++ b/src/display/sp-ctrlquadr.cpp @@ -1,5 +1,3 @@ -#define __INKSCAPE_CTRLQUADR_C__ - /* * Quadrilateral * @@ -11,20 +9,19 @@ * Released under GNU GPL */ -#include "display-forward.h" -#include "sp-canvas-util.h" -#include "sp-ctrlquadr.h" - #ifdef HAVE_CONFIG_H # include "config.h" #endif +#include "sp-canvas-util.h" +#include "sp-canvas-item.h" +#include "sp-ctrlquadr.h" #include "display/inkscape-cairo.h" #include "color.h" struct SPCtrlQuadr : public SPCanvasItem{ guint32 rgba; - NR::Point p1, p2, p3, p4; - NR::Matrix affine; + Geom::Point p1, p2, p3, p4; + Geom::Matrix affine; }; struct SPCtrlQuadrClass : public SPCanvasItemClass{}; @@ -33,26 +30,27 @@ static void sp_ctrlquadr_class_init (SPCtrlQuadrClass *klass); static void sp_ctrlquadr_init (SPCtrlQuadr *ctrlquadr); static void sp_ctrlquadr_destroy (GtkObject *object); -static void sp_ctrlquadr_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int flags); +static void sp_ctrlquadr_update (SPCanvasItem *item, Geom::Matrix const &affine, unsigned int flags); static void sp_ctrlquadr_render (SPCanvasItem *item, SPCanvasBuf *buf); static SPCanvasItemClass *parent_class; -GtkType +GType sp_ctrlquadr_get_type (void) { - static GtkType type = 0; - + static GType type = 0; if (!type) { - GtkTypeInfo info = { - "SPCtrlQuadr", - sizeof (SPCtrlQuadr), - sizeof (SPCtrlQuadrClass), - (GtkClassInitFunc) sp_ctrlquadr_class_init, - (GtkObjectInitFunc) sp_ctrlquadr_init, - NULL, NULL, NULL + GTypeInfo info = { + sizeof(SPCtrlQuadrClass), + NULL, NULL, + (GClassInitFunc) sp_ctrlquadr_class_init, + NULL, NULL, + sizeof(SPCtrlQuadr), + 0, + (GInstanceInitFunc) sp_ctrlquadr_init, + NULL }; - type = gtk_type_unique (SP_TYPE_CANVAS_ITEM, &info); + type = g_type_register_static(SP_TYPE_CANVAS_ITEM, "SPCtrlQuadr", &info, (GTypeFlags)0); } return type; } @@ -75,10 +73,10 @@ static void sp_ctrlquadr_init (SPCtrlQuadr *ctrlquadr) { ctrlquadr->rgba = 0x000000ff; - ctrlquadr->p1 = NR::Point(0, 0); - ctrlquadr->p2 = NR::Point(0, 0); - ctrlquadr->p3 = NR::Point(0, 0); - ctrlquadr->p4 = NR::Point(0, 0); + ctrlquadr->p1 = Geom::Point(0, 0); + ctrlquadr->p2 = Geom::Point(0, 0); + ctrlquadr->p3 = Geom::Point(0, 0); + ctrlquadr->p4 = Geom::Point(0, 0); } static void @@ -96,7 +94,7 @@ sp_ctrlquadr_render (SPCanvasItem *item, SPCanvasBuf *buf) { SPCtrlQuadr *cq = SP_CTRLQUADR (item); - NR::Rect area (NR::Point(buf->rect.x0, buf->rect.y0), NR::Point(buf->rect.x1, buf->rect.y1)); + //Geom::Rect area (Geom::Point(buf->rect.x0, buf->rect.y0), Geom::Point(buf->rect.x1, buf->rect.y1)); if (!buf->ct) return; @@ -104,18 +102,18 @@ sp_ctrlquadr_render (SPCanvasItem *item, SPCanvasBuf *buf) // RGB / BGR cairo_new_path(buf->ct); - NR::Point min = NR::Point(buf->rect.x0, buf->rect.y0); + Geom::Point min = Geom::Point(buf->rect.x0, buf->rect.y0); - NR::Point p1 = (cq->p1 * cq->affine) - min; - NR::Point p2 = (cq->p2 * cq->affine) - min; - NR::Point p3 = (cq->p3 * cq->affine) - min; - NR::Point p4 = (cq->p4 * cq->affine) - min; + Geom::Point p1 = (cq->p1 * cq->affine) - min; + Geom::Point p2 = (cq->p2 * cq->affine) - min; + Geom::Point p3 = (cq->p3 * cq->affine) - min; + Geom::Point p4 = (cq->p4 * cq->affine) - min; - cairo_move_to(buf->ct, p1[NR::X], p1[NR::Y]); - cairo_line_to(buf->ct, p2[NR::X], p2[NR::Y]); - cairo_line_to(buf->ct, p3[NR::X], p3[NR::Y]); - cairo_line_to(buf->ct, p4[NR::X], p4[NR::Y]); - cairo_line_to(buf->ct, p1[NR::X], p1[NR::Y]); + cairo_move_to(buf->ct, p1[Geom::X], p1[Geom::Y]); + cairo_line_to(buf->ct, p2[Geom::X], p2[Geom::Y]); + cairo_line_to(buf->ct, p3[Geom::X], p3[Geom::Y]); + cairo_line_to(buf->ct, p4[Geom::X], p4[Geom::Y]); + cairo_line_to(buf->ct, p1[Geom::X], p1[Geom::Y]); // FIXME: this is supposed to draw inverse but cairo apparently is unable of this trick :( //cairo_set_operator (buf->ct, CAIRO_OPERATOR_XOR); @@ -138,7 +136,7 @@ sp_ctrlquadr_render (SPCanvasItem *item, SPCanvasBuf *buf) static void -sp_ctrlquadr_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int flags) +sp_ctrlquadr_update (SPCanvasItem *item, Geom::Matrix const &affine, unsigned int flags) { SPCtrlQuadr *cq = SP_CTRLQUADR (item); @@ -151,15 +149,15 @@ sp_ctrlquadr_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int cq->affine = affine; - NR::Point p1(cq->p1 * affine); - NR::Point p2(cq->p2 * affine); - NR::Point p3(cq->p3 * affine); - NR::Point p4(cq->p4 * affine); + Geom::Point p1(cq->p1 * affine); + Geom::Point p2(cq->p2 * affine); + Geom::Point p3(cq->p3 * affine); + Geom::Point p4(cq->p4 * affine); - item->x1 = (int)(MIN4(p1[NR::X], p2[NR::X], p3[NR::X], p4[NR::X])); - item->y1 = (int)(MIN4(p1[NR::Y], p2[NR::Y], p3[NR::Y], p4[NR::Y])); - item->x2 = (int)(MAX4(p1[NR::X], p2[NR::X], p3[NR::X], p4[NR::X])); - item->y2 = (int)(MAX4(p1[NR::Y], p2[NR::Y], p3[NR::Y], p4[NR::Y])); + item->x1 = (int)(MIN4(p1[Geom::X], p2[Geom::X], p3[Geom::X], p4[Geom::X])); + item->y1 = (int)(MIN4(p1[Geom::Y], p2[Geom::Y], p3[Geom::Y], p4[Geom::Y])); + item->x2 = (int)(MAX4(p1[Geom::X], p2[Geom::X], p3[Geom::X], p4[Geom::X])); + item->y2 = (int)(MAX4(p1[Geom::Y], p2[Geom::Y], p3[Geom::Y], p4[Geom::Y])); sp_canvas_request_redraw (item->canvas, (int)item->x1, (int)item->y1, (int)item->x2, (int)item->y2); } @@ -179,7 +177,7 @@ sp_ctrlquadr_set_rgba32 (SPCtrlQuadr *cl, guint32 rgba) } void -sp_ctrlquadr_set_coords (SPCtrlQuadr *cl, NR::Point p1, NR::Point p2, NR::Point p3, NR::Point p4) +sp_ctrlquadr_set_coords (SPCtrlQuadr *cl, Geom::Point p1, Geom::Point p2, Geom::Point p3, Geom::Point p4) { g_return_if_fail (cl != NULL); g_return_if_fail (SP_IS_CTRLQUADR (cl)); @@ -202,4 +200,4 @@ sp_ctrlquadr_set_coords (SPCtrlQuadr *cl, NR::Point p1, NR::Point p2, NR::Point fill-column:99 End: */ -// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 : +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :