From a4d0a358424440128cd4c4fb2915ccc4b86f4587 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Thu, 5 May 2011 23:21:51 -0700 Subject: Adding initial cut of resource manager. (bzr r10198) --- src/display/curve-test.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/display') diff --git a/src/display/curve-test.h b/src/display/curve-test.h index d89cb4c99..3d698ca07 100644 --- a/src/display/curve-test.h +++ b/src/display/curve-test.h @@ -21,7 +21,7 @@ public: path1.close(); // Closed path (ClosingSegment is zero length) path2.append(Geom::LineSegment(Geom::Point(2,0),Geom::Point(3,0))); - path2.append(Geom::BezierCurve<3>(Geom::Point(3,0),Geom::Point(2,1),Geom::Point(1,1),Geom::Point(2,0))); + // TODO fix path2.append(Geom::BezierCurve<3>(Geom::Point(3,0),Geom::Point(2,1),Geom::Point(1,1),Geom::Point(2,0))); path2.close(); // Open path path3.append(Geom::SVGEllipticalArc(Geom::Point(4,0),1,2,M_PI,false,false,Geom::Point(5,1))); -- cgit v1.2.3 From 08eedb1441005f836d223b6143dc15c8009a3535 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Tue, 17 May 2011 23:25:49 -0700 Subject: Made dependencies explicit and bumped versions. (bzr r10208) --- src/display/sp-canvas.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'src/display') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 2d1e57092..0d450362a 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -47,12 +47,9 @@ using Inkscape::Debug::GdkEventLatencyTracker; -// GTK_CHECK_VERSION returns false on failure -#define HAS_GDK_EVENT_REQUEST_MOTIONS GTK_CHECK_VERSION(2, 12, 0) - // gtk_check_version returns non-NULL on failure static bool const HAS_BROKEN_MOTION_HINTS = - true || gtk_check_version(2, 12, 0) != NULL || !HAS_GDK_EVENT_REQUEST_MOTIONS; + true || gtk_check_version(2, 12, 0) != NULL; // Define this to visualize the regions to be redrawn //#define DEBUG_REDRAW 1; @@ -1599,9 +1596,7 @@ sp_canvas_scroll (GtkWidget *widget, GdkEventScroll *event) static inline void request_motions(GdkWindow *w, GdkEventMotion *event) { gdk_window_get_pointer(w, NULL, NULL, NULL); -#if HAS_GDK_EVENT_REQUEST_MOTIONS gdk_event_request_motions(event); -#endif } /** -- cgit v1.2.3 From 7239afff554c14388dd6e930d903beb7bbd8b2ca Mon Sep 17 00:00:00 2001 From: Felipe Corr??a da Silva Sanches Date: Wed, 18 May 2011 17:04:33 -0300 Subject: Adding inkscape:label parameter to guidelines so that our guidelanes can display labels (we still dont have a user interface, but files with that parameter will render correctly) (bzr r10209) --- src/display/guideline.cpp | 58 +++++++++++++++++++++++++++++++++++++++-------- src/display/guideline.h | 4 +++- 2 files changed, 52 insertions(+), 10 deletions(-) (limited to 'src/display') diff --git a/src/display/guideline.cpp b/src/display/guideline.cpp index bebec2852..f0e1c7724 100644 --- a/src/display/guideline.cpp +++ b/src/display/guideline.cpp @@ -19,6 +19,8 @@ #include "sp-canvas-util.h" #include "sp-ctrlpoint.h" #include "guideline.h" +#include "cairo.h" +#include "inkscape-cairo.h" static void sp_guideline_class_init(SPGuideLineClass *c); static void sp_guideline_init(SPGuideLine *guideline); @@ -78,6 +80,7 @@ static void sp_guideline_init(SPGuideLine *gl) gl->sensitive = 0; gl->origin = NULL; + gl->label = NULL; } static void sp_guideline_destroy(GtkObject *object) @@ -99,25 +102,35 @@ static void sp_guideline_destroy(GtkObject *object) static void sp_guideline_render(SPCanvasItem *item, SPCanvasBuf *buf) { + //TODO: the routine that renders the label of a specific guideline sometimes + // ends up erasing the labels of the other guidelines. + // Maybe we should render all labels everytime. + SPGuideLine const *gl = SP_GUIDELINE (item); sp_canvas_prepare_buffer(buf); + cairo_t* ctx = nr_create_cairo_context_canvasbuf (NULL /*area*/, buf); //this function ignores the "area" parameter + cairo_set_font_size (ctx, 10); + cairo_set_line_width (ctx, 10); + cairo_set_source_rgb (ctx, 0, 0, 0); unsigned int const r = NR_RGBA32_R (gl->rgba); unsigned int const g = NR_RGBA32_G (gl->rgba); unsigned int const b = NR_RGBA32_B (gl->rgba); unsigned int const a = NR_RGBA32_A (gl->rgba); + int px = (int) Inkscape::round(gl->point_on_line[Geom::X]); + int py = (int) Inkscape::round(gl->point_on_line[Geom::Y]); + if (gl->is_vertical()) { - int position = (int) Inkscape::round(gl->point_on_line[Geom::X]); - if (position < buf->rect.x0 || position >= buf->rect.x1) { + if (px < buf->rect.x0 || px >= buf->rect.x1) { return; } int p0 = buf->rect.y0; int p1 = buf->rect.y1; int step = buf->buf_rowstride; - unsigned char *d = buf->buf + 4 * (position - buf->rect.x0); + unsigned char *d = buf->buf + 4 * (px - buf->rect.x0); for (int p = p0; p < p1; p++) { d[0] = NR_COMPOSEN11_1111(r, a, d[0]); @@ -125,16 +138,22 @@ static void sp_guideline_render(SPCanvasItem *item, SPCanvasBuf *buf) d[2] = NR_COMPOSEN11_1111(b, a, d[2]); d += step; } + + if (gl->label){ + cairo_move_to(ctx, px - buf->rect.x0 + 5, py - buf->rect.y0); + cairo_rotate(ctx, 3.1415/2); + cairo_show_text(ctx, gl->label); + } + } else if (gl->is_horizontal()) { - int position = (int) Inkscape::round(gl->point_on_line[Geom::Y]); - if (position < buf->rect.y0 || position >= buf->rect.y1) { + if (py < buf->rect.y0 || py >= buf->rect.y1) { return; } int p0 = buf->rect.x0; int p1 = buf->rect.x1; int step = 4; - unsigned char *d = buf->buf + (position - buf->rect.y0) * buf->buf_rowstride; + unsigned char *d = buf->buf + (py - buf->rect.y0) * buf->buf_rowstride; for (int p = p0; p < p1; p++) { d[0] = NR_COMPOSEN11_1111(r, a, d[0]); @@ -142,6 +161,12 @@ static void sp_guideline_render(SPCanvasItem *item, SPCanvasBuf *buf) d[2] = NR_COMPOSEN11_1111(b, a, d[2]); d += step; } + + if (gl->label){ + cairo_move_to(ctx, px - buf->rect.x0, py - buf->rect.y0 - 5); + cairo_show_text(ctx, gl->label); + } + } else { // render angled line, once intersection has been detected, draw from there. Geom::Point parallel_to_line( gl->normal_to_line[Geom::Y], @@ -180,6 +205,12 @@ static void sp_guideline_render(SPCanvasItem *item, SPCanvasBuf *buf) sp_guideline_drawline (buf, static_cast(round(x_intersect_bottom)), buf->rect.y1, static_cast(round(x_intersect_top)), buf->rect.y0, gl->rgba); return; } + + if (gl->label){ + cairo_move_to(ctx, px - buf->rect.x0 + 5, py - buf->rect.y0); + cairo_rotate(ctx, atan2(gl->normal_to_line[Geom::X], gl->normal_to_line[Geom::Y])); + cairo_show_text(ctx, gl->label); + } } } @@ -198,10 +229,11 @@ static void sp_guideline_update(SPCanvasItem *item, Geom::Affine const &affine, sp_canvas_item_request_update(SP_CANVAS_ITEM (gl->origin)); if (gl->is_horizontal()) { - sp_canvas_update_bbox (item, -1000000, (int) Inkscape::round(gl->point_on_line[Geom::Y]), 1000000, (int) Inkscape::round(gl->point_on_line[Geom::Y] + 1)); + sp_canvas_update_bbox (item, -1000000, (int) Inkscape::round(gl->point_on_line[Geom::Y] - 16), 1000000, (int) Inkscape::round(gl->point_on_line[Geom::Y] + 1)); } else if (gl->is_vertical()) { - sp_canvas_update_bbox (item, (int) Inkscape::round(gl->point_on_line[Geom::X]), -1000000, (int) Inkscape::round(gl->point_on_line[Geom::X] + 1), 1000000); + sp_canvas_update_bbox (item, (int) Inkscape::round(gl->point_on_line[Geom::X]), -1000000, (int) Inkscape::round(gl->point_on_line[Geom::X] + 16), 1000000); } else { + //TODO: labels in angled guidelines are not showing up for some reason. sp_canvas_update_bbox (item, -1000000, -1000000, 1000000, 1000000); } } @@ -222,7 +254,7 @@ static double sp_guideline_point(SPCanvasItem *item, Geom::Point p, SPCanvasItem return MAX(fabs(distance)-1, 0); } -SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, Geom::Point point_on_line, Geom::Point normal) +SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, char* label, Geom::Point point_on_line, Geom::Point normal) { SPCanvasItem *item = sp_canvas_item_new(parent, SP_TYPE_GUIDELINE, NULL); SPCanvasItem *origin = sp_canvas_item_new(parent, SP_TYPE_CTRLPOINT, NULL); @@ -232,6 +264,7 @@ SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, Geom::Point point_on_line, gl->origin = cp; normal.normalize(); + gl->label = label; gl->normal_to_line = normal; gl->angle = tan( -gl->normal_to_line[Geom::X] / gl->normal_to_line[Geom::Y]); sp_guideline_set_position(gl, point_on_line); @@ -241,6 +274,13 @@ SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, Geom::Point point_on_line, return item; } +void sp_guideline_set_label(SPGuideLine *gl, char* label) +{ + gl->label = label; + + sp_canvas_item_request_update(SP_CANVAS_ITEM (gl)); +} + void sp_guideline_set_position(SPGuideLine *gl, Geom::Point point_on_line) { sp_canvas_item_affine_absolute(SP_CANVAS_ITEM (gl), Geom::Affine(Geom::Translate(point_on_line))); diff --git a/src/display/guideline.h b/src/display/guideline.h index 9654d04a1..dbf990d1f 100644 --- a/src/display/guideline.h +++ b/src/display/guideline.h @@ -29,6 +29,7 @@ struct SPGuideLine { guint32 rgba; + char* label; Geom::Point normal_to_line; Geom::Point point_on_line; double angle; @@ -45,8 +46,9 @@ struct SPGuideLineClass { GType sp_guideline_get_type(); -SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, Geom::Point point_on_line, Geom::Point normal); +SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, char* label, Geom::Point point_on_line, Geom::Point normal); +void sp_guideline_set_label(SPGuideLine *gl, char* label); void sp_guideline_set_position(SPGuideLine *gl, Geom::Point point_on_line); void sp_guideline_set_normal(SPGuideLine *gl, Geom::Point normal_to_line); void sp_guideline_set_color(SPGuideLine *gl, unsigned int rgba); -- cgit v1.2.3 From a622000f4859173bb7ac484b86cefe9fa4f169e4 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Wed, 18 May 2011 21:43:01 -0700 Subject: Revert version bump so win devlibs can catch up. (bzr r10210) --- src/display/sp-canvas.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/display') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 0d450362a..2d1e57092 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -47,9 +47,12 @@ using Inkscape::Debug::GdkEventLatencyTracker; +// GTK_CHECK_VERSION returns false on failure +#define HAS_GDK_EVENT_REQUEST_MOTIONS GTK_CHECK_VERSION(2, 12, 0) + // gtk_check_version returns non-NULL on failure static bool const HAS_BROKEN_MOTION_HINTS = - true || gtk_check_version(2, 12, 0) != NULL; + true || gtk_check_version(2, 12, 0) != NULL || !HAS_GDK_EVENT_REQUEST_MOTIONS; // Define this to visualize the regions to be redrawn //#define DEBUG_REDRAW 1; @@ -1596,7 +1599,9 @@ sp_canvas_scroll (GtkWidget *widget, GdkEventScroll *event) static inline void request_motions(GdkWindow *w, GdkEventMotion *event) { gdk_window_get_pointer(w, NULL, NULL, NULL); +#if HAS_GDK_EVENT_REQUEST_MOTIONS gdk_event_request_motions(event); +#endif } /** -- cgit v1.2.3 From cdddf155baf531b9783c8c5a02ec491a9cde3afc Mon Sep 17 00:00:00 2001 From: Felipe Corr??a da Silva Sanches Date: Thu, 19 May 2011 15:36:51 -0300 Subject: fix rendering of SVG Fonts. Apparently the glyphs were wrongly rendered upside-down since I was trying to make it compatible with fontforge rendering. Now, reading again the SVG spec, it seems to me that it is fontforge that renders it incorrectly. I have also added support for rendering path tags that are children of glyph and missing-glyph nodes. And also use tags. But fontforge does not seem to understand use tags in glyph descriptions... compatibility issues that we have to figure out how to solve. (bzr r10211) --- src/display/nr-svgfonts.cpp | 71 +++++++++++++++++++++++++++++++++------------ src/display/nr-svgfonts.h | 4 +++ 2 files changed, 57 insertions(+), 18 deletions(-) (limited to 'src/display') diff --git a/src/display/nr-svgfonts.cpp b/src/display/nr-svgfonts.cpp index 62d52b04b..b071ba21b 100644 --- a/src/display/nr-svgfonts.cpp +++ b/src/display/nr-svgfonts.cpp @@ -20,6 +20,11 @@ #include "svg/svg.h" #include "inkscape-cairo.h" #include "nr-svgfonts.h" +#include "../sp-path.h" +#include "../sp-object-group.h" +#include "../sp-use.h" +#include "../sp-use-reference.h" +#include "curve.h" //*************************// // UserFont Implementation // @@ -212,6 +217,29 @@ SvgFont::scaled_font_text_to_glyphs (cairo_scaled_font_t */*scaled_font*/, return CAIRO_STATUS_SUCCESS; } +void +SvgFont::render_glyph_path(cairo_t* cr, Geom::PathVector* pathv){ + if (!pathv->empty()){ + //This glyph has a path description on its d attribute, so we render it: + cairo_new_path(cr); + + //adjust scale of the glyph +// Geom::Scale s(1.0/((SPFont*) node->parent)->horiz_adv_x); + Geom::Scale s(1.0/1000);//TODO: use here the units-per-em attribute? + + Geom::Rect area( Geom::Point(0,0), Geom::Point(1,1) ); //I need help here! (reaction: note that the 'area' parameter is an *optional* rect, so you can pass an empty Geom::OptRect() ) + + feed_pathvector_to_cairo (cr, *pathv, s, area, false, 0); + cairo_fill(cr); + } +} + +void +SvgFont::glyph_modified(SPObject* /* blah */, unsigned int /* bleh */){ + this->refresh(); + //TODO: update rendering on svgfonts preview widget (in the svg fonts dialog) +} + cairo_status_t SvgFont::scaled_font_render_glyph (cairo_scaled_font_t */*scaled_font*/, unsigned long glyph, @@ -234,37 +262,44 @@ SvgFont::scaled_font_render_glyph (cairo_scaled_font_t */*scaled_font*/, node = (SPObject*) this->glyphs[glyph]; } + if (!SP_IS_GLYPH(node) && !SP_IS_MISSING_GLYPH(node)) { + return CAIRO_STATUS_SUCCESS; // FIXME: is this the right code to return? + } + //glyphs can be described by arbitrary SVG declared in the childnodes of a glyph node // or using the d attribute of a glyph node. // pathv stores the path description from the d attribute: Geom::PathVector pathv; if (SP_IS_GLYPH(node) && ((SPGlyph*)node)->d) { pathv = sp_svg_read_pathv(((SPGlyph*)node)->d); + this->render_glyph_path(cr, &pathv); } else if (SP_IS_MISSING_GLYPH(node) && ((SPMissingGlyph*)node)->d) { pathv = sp_svg_read_pathv(((SPMissingGlyph*)node)->d); - } else { - return CAIRO_STATUS_SUCCESS; // FIXME: is this the right code to return? + this->render_glyph_path(cr, &pathv); } - if (!pathv.empty()){ - //This glyph has a path description on its d attribute, so we render it: - cairo_new_path(cr); - //adjust scale of the glyph -// Geom::Scale s(1.0/((SPFont*) node->parent)->horiz_adv_x); - Geom::Scale s(1.0/1000);//TODO: use here the units-per-em attribute? - //This matrix flips the glyph vertically - Geom::Affine m(Geom::Coord(1),Geom::Coord(0),Geom::Coord(0),Geom::Coord(-1),Geom::Coord(0),Geom::Coord(0)); - //then we offset it -// pathv += Geom::Point(Geom::Coord(0),Geom::Coord(-((SPFont*) node->parent)->horiz_adv_x)); - pathv += Geom::Point(Geom::Coord(0),Geom::Coord(-1000));//TODO: use here the units-per-em attribute? - - Geom::Rect area( Geom::Point(0,0), Geom::Point(1,1) ); //I need help here! (reaction: note that the 'area' parameter is an *optional* rect, so you can pass an empty Geom::OptRect() ) + if (node->hasChildren()){ + //render the SVG described on this glyph's child nodes. + for(node = node->children; node; node=node->next){ + if (SP_IS_PATH(node)){ + pathv = ((SPShape*)node)->curve->get_pathvector(); + this->render_glyph_path(cr, &pathv); + } + if (SP_IS_OBJECTGROUP(node)){ + g_warning("TODO: svgfonts: render OBJECTGROUP"); + } + if (SP_IS_USE(node)){ + SPItem* item = SP_USE(node)->ref->getObject(); + if (SP_IS_PATH(item)){ + pathv = ((SPShape*)item)->curve->get_pathvector(); + this->render_glyph_path(cr, &pathv); + } - feed_pathvector_to_cairo (cr, pathv, s*m, area, false, 0); - cairo_fill(cr); + glyph_modified_connection = ((SPObject*) item)->connectModified(sigc::mem_fun(*this, &SvgFont::glyph_modified)); + } + } } - //TODO: render the SVG described on this glyph's child nodes. return CAIRO_STATUS_SUCCESS; } diff --git a/src/display/nr-svgfonts.h b/src/display/nr-svgfonts.h index ddf4ba327..b6eaf449d 100644 --- a/src/display/nr-svgfonts.h +++ b/src/display/nr-svgfonts.h @@ -19,6 +19,7 @@ #include "../sp-missing-glyph.h" #include "../sp-font.h" #include "../sp-glyph-kerning.h" +#include class SvgFont; struct SPFont; @@ -37,12 +38,15 @@ cairo_font_face_t* get_font_face(); cairo_status_t scaled_font_init (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *metrics); cairo_status_t scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *flags); cairo_status_t scaled_font_render_glyph (cairo_scaled_font_t *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *metrics); +void render_glyph_path(cairo_t* cr, Geom::PathVector* pathv); +void glyph_modified(SPObject *, unsigned int); private: SPFont* font; UserFont* userfont; std::vector glyphs; SPMissingGlyph* missingglyph; +sigc::connection glyph_modified_connection; bool drawing_expose_cb (Gtk::Widget *widget, GdkEventExpose *event, gpointer data); }; -- cgit v1.2.3 From 9865291b790f185d7ec2271c58e8653c9d4bb295 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Thu, 19 May 2011 22:01:27 -0700 Subject: Reinstating version bump. (bzr r10215) --- src/display/sp-canvas.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'src/display') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 2d1e57092..0d450362a 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -47,12 +47,9 @@ using Inkscape::Debug::GdkEventLatencyTracker; -// GTK_CHECK_VERSION returns false on failure -#define HAS_GDK_EVENT_REQUEST_MOTIONS GTK_CHECK_VERSION(2, 12, 0) - // gtk_check_version returns non-NULL on failure static bool const HAS_BROKEN_MOTION_HINTS = - true || gtk_check_version(2, 12, 0) != NULL || !HAS_GDK_EVENT_REQUEST_MOTIONS; + true || gtk_check_version(2, 12, 0) != NULL; // Define this to visualize the regions to be redrawn //#define DEBUG_REDRAW 1; @@ -1599,9 +1596,7 @@ sp_canvas_scroll (GtkWidget *widget, GdkEventScroll *event) static inline void request_motions(GdkWindow *w, GdkEventMotion *event) { gdk_window_get_pointer(w, NULL, NULL, NULL); -#if HAS_GDK_EVENT_REQUEST_MOTIONS gdk_event_request_motions(event); -#endif } /** -- cgit v1.2.3 From 3adbef99b318bd361c429b470a5f38cf21e8000a Mon Sep 17 00:00:00 2001 From: Felipe Corr??a da Silva Sanches Date: Sun, 22 May 2011 18:11:19 -0300 Subject: actually fontforge flipping of y-axis for svgfont glyphs is compliant with the svg spec. So we need to do it also. (bzr r10218) --- src/display/nr-svgfonts.cpp | 30 ++++++++++++++++++++++++++++++ src/display/nr-svgfonts.h | 2 ++ 2 files changed, 32 insertions(+) (limited to 'src/display') diff --git a/src/display/nr-svgfonts.cpp b/src/display/nr-svgfonts.cpp index b071ba21b..cf23ee5d5 100644 --- a/src/display/nr-svgfonts.cpp +++ b/src/display/nr-svgfonts.cpp @@ -25,6 +25,9 @@ #include "../sp-use.h" #include "../sp-use-reference.h" #include "curve.h" +#include "xml/repr.h" +#include "sp-font-face.h" + //*************************// // UserFont Implementation // @@ -240,6 +243,24 @@ SvgFont::glyph_modified(SPObject* /* blah */, unsigned int /* bleh */){ //TODO: update rendering on svgfonts preview widget (in the svg fonts dialog) } +Geom::PathVector +SvgFont::flip_coordinate_system(SPFont* spfont, Geom::PathVector pathv){ + double units_per_em = 1000; + SPObject* obj; + for (obj = ((SPObject*) spfont)->children; obj; obj=obj->next){ + if (SP_IS_FONTFACE(obj)){ + //XML Tree being directly used here while it shouldn't be. + sp_repr_get_double(obj->getRepr(), "units_per_em", &units_per_em); + } + } + + double baseline_offset = units_per_em - spfont->horiz_origin_y; + + //This matrix flips y-axis and places the origin at baseline + Geom::Affine m(Geom::Coord(1),Geom::Coord(0),Geom::Coord(0),Geom::Coord(-1),Geom::Coord(0),Geom::Coord(baseline_offset)); + return pathv*m; +} + cairo_status_t SvgFont::scaled_font_render_glyph (cairo_scaled_font_t */*scaled_font*/, unsigned long glyph, @@ -266,15 +287,22 @@ SvgFont::scaled_font_render_glyph (cairo_scaled_font_t */*scaled_font*/, return CAIRO_STATUS_SUCCESS; // FIXME: is this the right code to return? } + SPFont* spfont = (SPFont*) node->parent; + if (!spfont) { + return CAIRO_STATUS_SUCCESS; // FIXME: is this the right code to return? + } + //glyphs can be described by arbitrary SVG declared in the childnodes of a glyph node // or using the d attribute of a glyph node. // pathv stores the path description from the d attribute: Geom::PathVector pathv; if (SP_IS_GLYPH(node) && ((SPGlyph*)node)->d) { pathv = sp_svg_read_pathv(((SPGlyph*)node)->d); + pathv = flip_coordinate_system(spfont, pathv); this->render_glyph_path(cr, &pathv); } else if (SP_IS_MISSING_GLYPH(node) && ((SPMissingGlyph*)node)->d) { pathv = sp_svg_read_pathv(((SPMissingGlyph*)node)->d); + pathv = flip_coordinate_system(spfont, pathv); this->render_glyph_path(cr, &pathv); } @@ -283,6 +311,7 @@ SvgFont::scaled_font_render_glyph (cairo_scaled_font_t */*scaled_font*/, for(node = node->children; node; node=node->next){ if (SP_IS_PATH(node)){ pathv = ((SPShape*)node)->curve->get_pathvector(); + pathv = flip_coordinate_system(spfont, pathv); this->render_glyph_path(cr, &pathv); } if (SP_IS_OBJECTGROUP(node)){ @@ -292,6 +321,7 @@ SvgFont::scaled_font_render_glyph (cairo_scaled_font_t */*scaled_font*/, SPItem* item = SP_USE(node)->ref->getObject(); if (SP_IS_PATH(item)){ pathv = ((SPShape*)item)->curve->get_pathvector(); + pathv = flip_coordinate_system(spfont, pathv); this->render_glyph_path(cr, &pathv); } diff --git a/src/display/nr-svgfonts.h b/src/display/nr-svgfonts.h index b6eaf449d..3cfcbaa72 100644 --- a/src/display/nr-svgfonts.h +++ b/src/display/nr-svgfonts.h @@ -38,6 +38,8 @@ cairo_font_face_t* get_font_face(); cairo_status_t scaled_font_init (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *metrics); cairo_status_t scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font, const char *utf8, int utf8_len, cairo_glyph_t **glyphs, int *num_glyphs, cairo_text_cluster_t **clusters, int *num_clusters, cairo_text_cluster_flags_t *flags); cairo_status_t scaled_font_render_glyph (cairo_scaled_font_t *scaled_font, unsigned long glyph, cairo_t *cr, cairo_text_extents_t *metrics); + +Geom::PathVector flip_coordinate_system(SPFont* spfont, Geom::PathVector pathv); void render_glyph_path(cairo_t* cr, Geom::PathVector* pathv); void glyph_modified(SPObject *, unsigned int); -- cgit v1.2.3 From d08f8e9ed468767cc64766eb80ea134bb5edb197 Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Thu, 26 May 2011 23:17:37 +0200 Subject: add entry widget to guideline dialog to change guide's label (and fix some label xml writing and rendering bugs) (bzr r10234) --- src/display/guideline.cpp | 11 ++++++++--- src/display/guideline.h | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/display') diff --git a/src/display/guideline.cpp b/src/display/guideline.cpp index f0e1c7724..dddf1f30e 100644 --- a/src/display/guideline.cpp +++ b/src/display/guideline.cpp @@ -21,6 +21,7 @@ #include "guideline.h" #include "cairo.h" #include "inkscape-cairo.h" +#include "color.h" static void sp_guideline_class_init(SPGuideLineClass *c); static void sp_guideline_init(SPGuideLine *guideline); @@ -112,7 +113,8 @@ static void sp_guideline_render(SPCanvasItem *item, SPCanvasBuf *buf) cairo_t* ctx = nr_create_cairo_context_canvasbuf (NULL /*area*/, buf); //this function ignores the "area" parameter cairo_set_font_size (ctx, 10); cairo_set_line_width (ctx, 10); - cairo_set_source_rgb (ctx, 0, 0, 0); + /// @todo uh??! why must the order of these arguments be reversed? bgra instead of rgba! + cairo_set_source_rgba (ctx, SP_RGBA32_B_F(gl->rgba), SP_RGBA32_G_F(gl->rgba), SP_RGBA32_R_F(gl->rgba), SP_RGBA32_A_F(gl->rgba)); unsigned int const r = NR_RGBA32_R (gl->rgba); unsigned int const g = NR_RGBA32_G (gl->rgba); @@ -274,9 +276,12 @@ SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, char* label, Geom::Point p return item; } -void sp_guideline_set_label(SPGuideLine *gl, char* label) +void sp_guideline_set_label(SPGuideLine *gl, const char* label) { - gl->label = label; + if (gl->label) { + g_free(gl->label); + } + gl->label = g_strdup(label); sp_canvas_item_request_update(SP_CANVAS_ITEM (gl)); } diff --git a/src/display/guideline.h b/src/display/guideline.h index dbf990d1f..dfc3b7007 100644 --- a/src/display/guideline.h +++ b/src/display/guideline.h @@ -48,7 +48,7 @@ GType sp_guideline_get_type(); SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, char* label, Geom::Point point_on_line, Geom::Point normal); -void sp_guideline_set_label(SPGuideLine *gl, char* label); +void sp_guideline_set_label(SPGuideLine *gl, const char* label); void sp_guideline_set_position(SPGuideLine *gl, Geom::Point point_on_line); void sp_guideline_set_normal(SPGuideLine *gl, Geom::Point normal_to_line); void sp_guideline_set_color(SPGuideLine *gl, unsigned int rgba); -- cgit v1.2.3 From aabb5bb05a97e7414fd6f0204178788800871151 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Sat, 28 May 2011 03:36:31 -0700 Subject: Port of 0.48.x branch revision 9781. Cleanup of legacy code and casting that was breaking 64-bit gradient use. Fixes bug #743530 and bug #778441. Fixed bugs: - https://launchpad.net/bugs/743530 - https://launchpad.net/bugs/778441 (bzr r10242) --- src/display/nr-arena-glyphs.cpp | 1 + src/display/nr-arena-glyphs.h | 2 +- src/display/nr-arena.cpp | 1 + src/display/nr-arena.h | 3 ++- 4 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src/display') diff --git a/src/display/nr-arena-glyphs.cpp b/src/display/nr-arena-glyphs.cpp index 42bca7d94..a67812d8f 100644 --- a/src/display/nr-arena-glyphs.cpp +++ b/src/display/nr-arena-glyphs.cpp @@ -25,6 +25,7 @@ #include #include "inkscape-cairo.h" #include "display/grayscale.h" +#include "sp-paint-server.h" #ifdef test_glyph_liv #include "../display/canvas-bpath.h" diff --git a/src/display/nr-arena-glyphs.h b/src/display/nr-arena-glyphs.h index d04fdb4dc..b56a9f56c 100644 --- a/src/display/nr-arena-glyphs.h +++ b/src/display/nr-arena-glyphs.h @@ -20,13 +20,13 @@ #include "libnrtype/nrtype-forward.h" #include "forward.h" -#include "sp-paint-server.h" #include "display/nr-arena-item.h" #define test_glyph_liv struct SPCurve; class Shape; +class SPPainter; NRType nr_arena_glyphs_get_type (void); diff --git a/src/display/nr-arena.cpp b/src/display/nr-arena.cpp index 837bc0d86..147269727 100644 --- a/src/display/nr-arena.cpp +++ b/src/display/nr-arena.cpp @@ -17,6 +17,7 @@ #include "nr-filter-gaussian.h" #include "nr-filter-types.h" #include +#include "sp-paint-server.h" #include "preferences.h" #include "color.h" diff --git a/src/display/nr-arena.h b/src/display/nr-arena.h index bd6c3029d..402bc198f 100644 --- a/src/display/nr-arena.h +++ b/src/display/nr-arena.h @@ -30,7 +30,8 @@ G_END_DECLS #include #include #include "nr-arena-forward.h" -#include "sp-paint-server.h" + +class SPPainter; NRType nr_arena_get_type (void); -- cgit v1.2.3 From 50f0c3735473690f71df9862c5d9675f9efcfa8c Mon Sep 17 00:00:00 2001 From: Felipe Corr??a da Silva Sanches Date: Tue, 31 May 2011 19:15:11 -0500 Subject: fix rendering of angled guidelines (bzr r10246) --- src/display/guideline.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/display') diff --git a/src/display/guideline.cpp b/src/display/guideline.cpp index dddf1f30e..abfec250f 100644 --- a/src/display/guideline.cpp +++ b/src/display/guideline.cpp @@ -170,6 +170,13 @@ static void sp_guideline_render(SPCanvasItem *item, SPCanvasBuf *buf) } } else { + + if (gl->label){ + cairo_move_to(ctx, px - buf->rect.x0 + 5, py - buf->rect.y0); + cairo_rotate(ctx, atan2(gl->normal_to_line[Geom::X], gl->normal_to_line[Geom::Y])); + cairo_show_text(ctx, gl->label); + } + // render angled line, once intersection has been detected, draw from there. Geom::Point parallel_to_line( gl->normal_to_line[Geom::Y], /*should be minus, but inverted y axis*/ gl->normal_to_line[Geom::X]); @@ -207,12 +214,6 @@ static void sp_guideline_render(SPCanvasItem *item, SPCanvasBuf *buf) sp_guideline_drawline (buf, static_cast(round(x_intersect_bottom)), buf->rect.y1, static_cast(round(x_intersect_top)), buf->rect.y0, gl->rgba); return; } - - if (gl->label){ - cairo_move_to(ctx, px - buf->rect.x0 + 5, py - buf->rect.y0); - cairo_rotate(ctx, atan2(gl->normal_to_line[Geom::X], gl->normal_to_line[Geom::Y])); - cairo_show_text(ctx, gl->label); - } } } -- cgit v1.2.3 From f3756ff85a32f4b2a0771d0ac3bd78a69535395f Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jun 2011 11:44:52 +0100 Subject: Use generic headers in preparation for GTK+ 3 transition Fixed bugs: - https://launchpad.net/bugs/792263 (bzr r10252.1.1) --- src/display/canvas-temporary-item.cpp | 2 +- src/display/grayscale.h | 2 +- src/display/nr-3dutils.h | 2 +- src/display/nr-filter-diffuselighting.h | 2 +- src/display/nr-filter-specularlighting.h | 2 +- src/display/nr-light.h | 2 +- src/display/sodipodi-ctrl.h | 2 +- src/display/sp-canvas-item.h | 4 ++-- src/display/sp-canvas.cpp | 4 +--- src/display/sp-canvas.h | 6 ++---- 10 files changed, 12 insertions(+), 16 deletions(-) (limited to 'src/display') diff --git a/src/display/canvas-temporary-item.cpp b/src/display/canvas-temporary-item.cpp index ccef4d0cb..8d336f0ff 100644 --- a/src/display/canvas-temporary-item.cpp +++ b/src/display/canvas-temporary-item.cpp @@ -16,7 +16,7 @@ #include "display/canvas-temporary-item.h" -#include +#include namespace Inkscape { namespace Display { diff --git a/src/display/grayscale.h b/src/display/grayscale.h index 855c9e465..d7092687c 100644 --- a/src/display/grayscale.h +++ b/src/display/grayscale.h @@ -12,7 +12,7 @@ * Released under GNU GPL */ -#include +#include namespace Grayscale { guint32 process(guint32 rgba); diff --git a/src/display/nr-3dutils.h b/src/display/nr-3dutils.h index 56bed6ba2..e19651ac8 100644 --- a/src/display/nr-3dutils.h +++ b/src/display/nr-3dutils.h @@ -14,7 +14,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include +#include #include <2geom/forward.h> struct NRPixBlock; diff --git a/src/display/nr-filter-diffuselighting.h b/src/display/nr-filter-diffuselighting.h index 8dc7a1818..f540bf4a5 100644 --- a/src/display/nr-filter-diffuselighting.h +++ b/src/display/nr-filter-diffuselighting.h @@ -13,7 +13,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include +#include #include "display/nr-light-types.h" #include "display/nr-filter-primitive.h" #include "display/nr-filter-slot.h" diff --git a/src/display/nr-filter-specularlighting.h b/src/display/nr-filter-specularlighting.h index a5d29588a..7c278df89 100644 --- a/src/display/nr-filter-specularlighting.h +++ b/src/display/nr-filter-specularlighting.h @@ -13,7 +13,7 @@ * Released under GNU GPL, read the file 'COPYING' for more information */ -#include +#include #include "display/nr-light-types.h" #include "display/nr-filter-primitive.h" #include "display/nr-filter-slot.h" diff --git a/src/display/nr-light.h b/src/display/nr-light.h index 49130cc4e..022243bfc 100644 --- a/src/display/nr-light.h +++ b/src/display/nr-light.h @@ -8,7 +8,7 @@ * light color components (at a given point). */ -#include +#include #include "display/nr-3dutils.h" #include "display/nr-light-types.h" #include <2geom/forward.h> diff --git a/src/display/sodipodi-ctrl.h b/src/display/sodipodi-ctrl.h index a708ad41b..c3b97cbe0 100644 --- a/src/display/sodipodi-ctrl.h +++ b/src/display/sodipodi-ctrl.h @@ -7,7 +7,7 @@ * */ -#include +#include #include #include #include "sp-canvas-item.h" diff --git a/src/display/sp-canvas-item.h b/src/display/sp-canvas-item.h index cc0bdfc77..26e5aa1f6 100644 --- a/src/display/sp-canvas-item.h +++ b/src/display/sp-canvas-item.h @@ -22,8 +22,8 @@ #endif #include -#include -#include +#include +#include #include "2geom/rect.h" diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 0d450362a..ff1bf32c6 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -20,9 +20,7 @@ #include -#include -#include -#include +#include #include diff --git a/src/display/sp-canvas.h b/src/display/sp-canvas.h index 3a0b56585..a6ddafb1e 100644 --- a/src/display/sp-canvas.h +++ b/src/display/sp-canvas.h @@ -28,10 +28,8 @@ #endif #include -#include -#include -#include -#include +#include +#include #include -- cgit v1.2.3 From 0ddedab9c6185028661dcaaac9f6fbca4c9e93fc Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 12 Jun 2011 18:27:29 +0000 Subject: work in progress cmake commit: - cmake now builds all files that automake does but does NOT link yet - inlcudes nasty hard coded paths and libs (will replace once linking works) (bzr r10272) --- src/display/CMakeLists.txt | 123 ++++++++++++++++++++++++--------------------- 1 file changed, 65 insertions(+), 58 deletions(-) (limited to 'src/display') diff --git a/src/display/CMakeLists.txt b/src/display/CMakeLists.txt index 9fa2304be..1d3e09200 100644 --- a/src/display/CMakeLists.txt +++ b/src/display/CMakeLists.txt @@ -1,59 +1,66 @@ -SET(display_SRC -canvas-arena.cpp -canvas-axonomgrid.cpp -canvas-bpath.cpp -canvas-grid.cpp -canvas-temporary-item.cpp -canvas-temporary-item-list.cpp -curve.cpp -gnome-canvas-acetate.cpp -guideline.cpp -inkscape-cairo.cpp -nr-3dutils.cpp -nr-arena.cpp -nr-arena-glyphs.cpp -nr-arena-group.cpp -nr-arena-image.cpp -nr-arena-item.cpp -nr-arena-shape.cpp -nr-filter-blend.cpp -nr-filter-colormatrix.cpp -nr-filter-component-transfer.cpp -nr-filter-composite.cpp -nr-filter-convolve-matrix.cpp -nr-filter.cpp -nr-filter-diffuselighting.cpp -nr-filter-displacement-map.cpp -nr-filter-flood.cpp -nr-filter-gaussian.cpp -nr-filter-getalpha.cpp -nr-filter-image.cpp -nr-filter-merge.cpp -nr-filter-morphology.cpp -nr-filter-offset.cpp -nr-filter-primitive.cpp -nr-filter-skeleton.cpp -nr-filter-slot.cpp -nr-filter-specularlighting.cpp -nr-filter-tile.cpp -nr-filter-turbulence.cpp -nr-filter-units.cpp -nr-filter-utils.cpp -nr-light.cpp -nr-plain-stuff.cpp -nr-plain-stuff-gdk.cpp -nr-svgfonts.h -pixblock-scaler.cpp -pixblock-transform.cpp -snap-indicator.cpp -sodipodi-ctrl.cpp -sodipodi-ctrlrect.cpp -sp-canvas.cpp -sp-canvas-util.cpp -sp-ctrlline.cpp -sp-ctrlquadr.cpp -#testnr.cpp +set(display_SRC + canvas-arena.cpp + canvas-axonomgrid.cpp + canvas-bpath.cpp + canvas-grid.cpp + canvas-temporary-item-list.cpp + canvas-temporary-item.cpp + canvas-text.cpp + curve.cpp + gnome-canvas-acetate.cpp + grayscale.cpp + guideline.cpp + inkscape-cairo.cpp + nr-3dutils.cpp + nr-arena-glyphs.cpp + nr-arena-group.cpp + nr-arena-image.cpp + nr-arena-item.cpp + nr-arena-shape.cpp + nr-arena.cpp + nr-filter-blend.cpp + nr-filter-colormatrix.cpp + nr-filter-component-transfer.cpp + nr-filter-composite.cpp + nr-filter-convolve-matrix.cpp + nr-filter-diffuselighting.cpp + nr-filter-displacement-map.cpp + nr-filter-flood.cpp + nr-filter-gaussian.cpp + nr-filter-getalpha.cpp + nr-filter-image.cpp + nr-filter-merge.cpp + nr-filter-morphology.cpp + nr-filter-offset.cpp + nr-filter-primitive.cpp + nr-filter-skeleton.cpp + nr-filter-slot.cpp + nr-filter-specularlighting.cpp + nr-filter-tile.cpp + nr-filter-turbulence.cpp + nr-filter-units.cpp + nr-filter-utils.cpp + nr-filter.cpp + nr-light.cpp + nr-plain-stuff-gdk.cpp + nr-plain-stuff.cpp + nr-svgfonts.cpp + nr-svgfonts.h + pixblock-scaler.cpp + pixblock-transform.cpp + snap-indicator.cpp + sodipodi-ctrl.cpp + sodipodi-ctrlrect.cpp + sp-canvas-util.cpp + sp-canvas.cpp + sp-ctrlline.cpp + sp-ctrlpoint.cpp + sp-ctrlquadr.cpp ) -ADD_LIBRARY(display STATIC ${display_SRC}) -TARGET_LINK_LIBRARIES(display -2geom ${INKSCAPE_LIBS}) \ No newline at end of file + +include_directories( + "${CMAKE_SOURCE_DIR}/src" +) + +add_library(display STATIC ${display_SRC}) +target_link_libraries(display 2geom ${INKSCAPE_LIBS}) -- cgit v1.2.3 From 321f115f7dad3366f2427443ce0aa725f6881f2e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 12 Jun 2011 20:46:15 +0000 Subject: cmake: commented unused files/dirs, double checked all files compile this time (bzr r10273) --- src/display/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/display') diff --git a/src/display/CMakeLists.txt b/src/display/CMakeLists.txt index 1d3e09200..a46ff4e84 100644 --- a/src/display/CMakeLists.txt +++ b/src/display/CMakeLists.txt @@ -33,7 +33,7 @@ set(display_SRC nr-filter-morphology.cpp nr-filter-offset.cpp nr-filter-primitive.cpp - nr-filter-skeleton.cpp + # nr-filter-skeleton.cpp nr-filter-slot.cpp nr-filter-specularlighting.cpp nr-filter-tile.cpp -- cgit v1.2.3 From de03354959190a2c5392d79e03dd22dc45777e41 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 12 Jun 2011 21:27:00 +0000 Subject: cmake: give all libs a _LIB suffix, workaround 'debug' being confused with cake keyword, and also dont mix up dor names with libs. (bzr r10274) --- src/display/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/display') diff --git a/src/display/CMakeLists.txt b/src/display/CMakeLists.txt index a46ff4e84..86f122297 100644 --- a/src/display/CMakeLists.txt +++ b/src/display/CMakeLists.txt @@ -62,5 +62,5 @@ include_directories( "${CMAKE_SOURCE_DIR}/src" ) -add_library(display STATIC ${display_SRC}) -target_link_libraries(display 2geom ${INKSCAPE_LIBS}) +add_library(display_LIB STATIC ${display_SRC}) +target_link_libraries(display_LIB 2geom_LIB ${INKSCAPE_LIBS}) -- cgit v1.2.3 From 7172735786c43c2305a92ffd4e5d285d11f88f7f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 13 Jun 2011 00:19:17 +0000 Subject: cmake: turns out my recent commits (which I undid) were not incorrect, variables were set in subdirectories then used in the parent directory, where they were still unset. Fixing this broke the build because some files in the subdir were not compiling. (bzr r10276) --- src/display/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/display') diff --git a/src/display/CMakeLists.txt b/src/display/CMakeLists.txt index 86f122297..ff0b7eac1 100644 --- a/src/display/CMakeLists.txt +++ b/src/display/CMakeLists.txt @@ -1,3 +1,4 @@ + set(display_SRC canvas-arena.cpp canvas-axonomgrid.cpp @@ -62,5 +63,4 @@ include_directories( "${CMAKE_SOURCE_DIR}/src" ) -add_library(display_LIB STATIC ${display_SRC}) -target_link_libraries(display_LIB 2geom_LIB ${INKSCAPE_LIBS}) +add_library(display_LIB ${display_SRC}) -- cgit v1.2.3 From 9a8e6cfdc2f8052638e6816e0ffdd36e1b253a6c Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sun, 12 Jun 2011 18:23:46 +0100 Subject: Replace deprecated GTK_WIDGET_(UN)SET_FLAGS macros (bzr r10277.1.1) --- src/display/sp-canvas.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/display') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index ff1bf32c6..ad2a45eea 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -1020,9 +1020,9 @@ sp_canvas_class_init (SPCanvasClass *klass) static void sp_canvas_init (SPCanvas *canvas) { - GTK_WIDGET_UNSET_FLAGS (canvas, GTK_NO_WINDOW); - GTK_WIDGET_UNSET_FLAGS (canvas, GTK_DOUBLE_BUFFERED); - GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_FOCUS); + gtk_widget_set_has_window (GTK_WIDGET (canvas), TRUE); + gtk_widget_set_double_buffered (GTK_WIDGET (canvas), FALSE); + gtk_widget_set_can_focus (GTK_WIDGET (canvas), TRUE); canvas->pick_event.type = GDK_LEAVE_NOTIFY; canvas->pick_event.crossing.x = 0; @@ -1176,7 +1176,7 @@ sp_canvas_realize (GtkWidget *widget) widget->style = gtk_style_attach (widget->style, widget->window); - GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); + gtk_widget_set_realized (widget, TRUE); canvas->pixmap_gc = gdk_gc_new (SP_CANVAS_WINDOW (canvas)); } @@ -2022,7 +2022,7 @@ sp_canvas_crossing (GtkWidget *widget, GdkEventCrossing *event) static gint sp_canvas_focus_in (GtkWidget *widget, GdkEventFocus *event) { - GTK_WIDGET_SET_FLAGS (widget, GTK_HAS_FOCUS); + gtk_widget_grab_focus (widget); SPCanvas *canvas = SP_CANVAS (widget); @@ -2039,8 +2039,6 @@ sp_canvas_focus_in (GtkWidget *widget, GdkEventFocus *event) static gint sp_canvas_focus_out (GtkWidget *widget, GdkEventFocus *event) { - GTK_WIDGET_UNSET_FLAGS (widget, GTK_HAS_FOCUS); - SPCanvas *canvas = SP_CANVAS (widget); if (canvas->focused_item) -- cgit v1.2.3 From 2c5f1ac093f8d674dae8fc1cae88862d02468356 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 13 Jun 2011 02:33:03 +0000 Subject: cmake: now builds without having most of the source listed in 1 file. (bzr r10278) --- src/display/CMakeLists.txt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/display') diff --git a/src/display/CMakeLists.txt b/src/display/CMakeLists.txt index ff0b7eac1..056067ea4 100644 --- a/src/display/CMakeLists.txt +++ b/src/display/CMakeLists.txt @@ -59,8 +59,5 @@ set(display_SRC sp-ctrlquadr.cpp ) -include_directories( - "${CMAKE_SOURCE_DIR}/src" -) - -add_library(display_LIB ${display_SRC}) +# add_library(display_LIB ${display_SRC}) +add_inkscape_source("${display_SRC}") -- cgit v1.2.3 From b7a4f23ed217a36eaaefe8f707bcc1b968d1e562 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 13 Jun 2011 05:39:42 +0000 Subject: cmake: - group source/headers per library (for some IDE's) - include headers with source listing (also for IDE's) - remove unneeded Find modules (bzr r10281) --- src/display/CMakeLists.txt | 69 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) (limited to 'src/display') diff --git a/src/display/CMakeLists.txt b/src/display/CMakeLists.txt index 056067ea4..30643550f 100644 --- a/src/display/CMakeLists.txt +++ b/src/display/CMakeLists.txt @@ -57,7 +57,74 @@ set(display_SRC sp-ctrlline.cpp sp-ctrlpoint.cpp sp-ctrlquadr.cpp + + + # ------- + # Headers + canvas-arena.h + canvas-axonomgrid.h + canvas-bpath.h + canvas-grid.h + canvas-temporary-item-list.h + canvas-temporary-item.h + canvas-text.h + curve-test.h + curve.h + gnome-canvas-acetate.h + grayscale.h + guideline.h + inkscape-cairo.h + nr-3dutils.h + nr-arena-forward.h + nr-arena-glyphs.h + nr-arena-group.h + nr-arena-image.h + nr-arena-item.h + nr-arena-shape.h + nr-arena.h + nr-filter-blend.h + nr-filter-colormatrix.h + nr-filter-component-transfer.h + nr-filter-composite.h + nr-filter-convolve-matrix.h + nr-filter-diffuselighting.h + nr-filter-displacement-map.h + nr-filter-flood.h + nr-filter-gaussian.h + nr-filter-getalpha.h + nr-filter-image.h + nr-filter-merge.h + nr-filter-morphology.h + nr-filter-offset.h + nr-filter-pixops.h + nr-filter-primitive.h + nr-filter-skeleton.h + nr-filter-slot.h + nr-filter-specularlighting.h + nr-filter-tile.h + nr-filter-turbulence.h + nr-filter-types.h + nr-filter-units.h + nr-filter-utils.h + nr-filter.h + nr-light-types.h + nr-light.h + nr-plain-stuff-gdk.h + nr-plain-stuff.h + pixblock-scaler.h + pixblock-transform.h + rendermode.h + snap-indicator.h + sodipodi-ctrl.h + sodipodi-ctrlrect.h + sp-canvas-group.h + sp-canvas-item.h + sp-canvas-util.h + sp-canvas.h + sp-ctrlline.h + sp-ctrlpoint.h + sp-ctrlquadr.h ) -# add_library(display_LIB ${display_SRC}) +# add_inkscape_lib(display_LIB "${display_SRC}") add_inkscape_source("${display_SRC}") -- cgit v1.2.3 From a1f1e29a8a207ea7ef4be583a050778cf2875217 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Mon, 13 Jun 2011 01:28:49 +0100 Subject: Replace deprecated GtkSignal (bzr r10282.1.1) --- src/display/canvas-arena.cpp | 9 +++++---- src/display/sp-canvas.cpp | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'src/display') diff --git a/src/display/canvas-arena.cpp b/src/display/canvas-arena.cpp index 5975db9cc..8436a3b99 100644 --- a/src/display/canvas-arena.cpp +++ b/src/display/canvas-arena.cpp @@ -77,10 +77,11 @@ sp_canvas_arena_class_init (SPCanvasArenaClass *klass) parent_class = (SPCanvasItemClass*)gtk_type_class (SP_TYPE_CANVAS_ITEM); - signals[ARENA_EVENT] = gtk_signal_new ("arena_event", - GTK_RUN_LAST, - GTK_CLASS_TYPE(object_class), + signals[ARENA_EVENT] = g_signal_new ("arena_event", + G_TYPE_FROM_CLASS(object_class), + G_SIGNAL_RUN_LAST, ((glong)((guint8*)&(klass->arena_event) - (guint8*)klass)), + NULL, NULL, sp_marshal_INT__POINTER_POINTER, GTK_TYPE_INT, 2, GTK_TYPE_POINTER, GTK_TYPE_POINTER); @@ -329,7 +330,7 @@ sp_canvas_arena_send_event (SPCanvasArena *arena, GdkEvent *event) gint ret = FALSE; /* Send event to arena */ - gtk_signal_emit (GTK_OBJECT (arena), signals[ARENA_EVENT], arena->active, event, &ret); + g_signal_emit (G_OBJECT (arena), signals[ARENA_EVENT], 0, arena->active, event, &ret); return ret; } diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index ad2a45eea..20c21a8c3 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -1360,7 +1360,7 @@ emit_event (SPCanvas *canvas, GdkEvent *event) while (item && !finished) { gtk_object_ref (GTK_OBJECT (item)); - gtk_signal_emit (GTK_OBJECT (item), item_signals[ITEM_EVENT], &ev, &finished); + g_signal_emit (G_OBJECT (item), item_signals[ITEM_EVENT], 0, &ev, &finished); SPCanvasItem *parent = item->parent; gtk_object_unref (GTK_OBJECT (item)); item = parent; -- cgit v1.2.3 From c8fae874884858fb54c05015c72f6f551591d0f9 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Tue, 14 Jun 2011 22:34:06 +0100 Subject: Remove deprecated glib macro wrappers (bzr r10302.1.1) --- src/display/canvas-arena.h | 8 ++++---- src/display/canvas-bpath.h | 8 ++++---- src/display/canvas-grid.h | 8 ++++---- src/display/canvas-text.h | 4 ++-- src/display/gnome-canvas-acetate.h | 8 ++++---- src/display/guideline.h | 4 ++-- src/display/sodipodi-ctrl.h | 8 ++++---- src/display/sodipodi-ctrlrect.h | 8 ++++---- src/display/sp-canvas-group.h | 4 ++-- src/display/sp-canvas-item.h | 6 +++--- src/display/sp-canvas.h | 4 ++-- src/display/sp-ctrlline.h | 4 ++-- src/display/sp-ctrlpoint.h | 4 ++-- src/display/sp-ctrlquadr.h | 4 ++-- 14 files changed, 41 insertions(+), 41 deletions(-) (limited to 'src/display') diff --git a/src/display/canvas-arena.h b/src/display/canvas-arena.h index 7267583f0..90be5f9e3 100644 --- a/src/display/canvas-arena.h +++ b/src/display/canvas-arena.h @@ -19,10 +19,10 @@ G_BEGIN_DECLS #define SP_TYPE_CANVAS_ARENA (sp_canvas_arena_get_type ()) -#define SP_CANVAS_ARENA(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CANVAS_ARENA, SPCanvasArena)) -#define SP_CANVAS_ARENA_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_CANVAS_ARENA, SPCanvasArenaClass)) -#define SP_IS_CANVAS_ARENA(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CANVAS_ARENA)) -#define SP_IS_CANVAS_ARENA_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_CANVAS_ARENA)) +#define SP_CANVAS_ARENA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CANVAS_ARENA, SPCanvasArena)) +#define SP_CANVAS_ARENA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_CANVAS_ARENA, SPCanvasArenaClass)) +#define SP_IS_CANVAS_ARENA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CANVAS_ARENA)) +#define SP_IS_CANVAS_ARENA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_CANVAS_ARENA)) typedef struct _SPCanvasArena SPCanvasArena; typedef struct _SPCanvasArenaClass SPCanvasArenaClass; diff --git a/src/display/canvas-bpath.h b/src/display/canvas-bpath.h index 7f8b75dfe..ad19797c2 100644 --- a/src/display/canvas-bpath.h +++ b/src/display/canvas-bpath.h @@ -25,10 +25,10 @@ struct SPCanvasGroup; struct SPCurve; #define SP_TYPE_CANVAS_BPATH (sp_canvas_bpath_get_type ()) -#define SP_CANVAS_BPATH(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CANVAS_BPATH, SPCanvasBPath)) -#define SP_CANVAS_BPATH_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_CANVAS_BPATH, SPCanvasBPathClass)) -#define SP_IS_CANVAS_BPATH(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CANVAS_BPATH)) -#define SP_IS_CANVAS_BPATH_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_CANVAS_BPATH)) +#define SP_CANVAS_BPATH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CANVAS_BPATH, SPCanvasBPath)) +#define SP_CANVAS_BPATH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_CANVAS_BPATH, SPCanvasBPathClass)) +#define SP_IS_CANVAS_BPATH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CANVAS_BPATH)) +#define SP_IS_CANVAS_BPATH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_CANVAS_BPATH)) #define bpath_liv diff --git a/src/display/canvas-grid.h b/src/display/canvas-grid.h index f386fe05e..f42fecad7 100644 --- a/src/display/canvas-grid.h +++ b/src/display/canvas-grid.h @@ -39,10 +39,10 @@ enum GridType { #define GRID_MAXTYPENR 1 #define INKSCAPE_TYPE_GRID_CANVASITEM (Inkscape::grid_canvasitem_get_type ()) -#define INKSCAPE_GRID_CANVASITEM(obj) (GTK_CHECK_CAST ((obj), INKSCAPE_TYPE_GRID_CANVASITEM, GridCanvasItem)) -#define INKSCAPE_GRID_CANVASITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), INKSCAPE_TYPE_GRID_CANVASITEM, GridCanvasItem)) -#define INKSCAPE_IS_GRID_CANVASITEM(obj) (GTK_CHECK_TYPE ((obj), INKSCAPE_TYPE_GRID_CANVASITEM)) -#define INKSCAPE_IS_GRID_CANVASITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), INKSCAPE_TYPE_GRID_CANVASITEM)) +#define INKSCAPE_GRID_CANVASITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INKSCAPE_TYPE_GRID_CANVASITEM, GridCanvasItem)) +#define INKSCAPE_GRID_CANVASITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INKSCAPE_TYPE_GRID_CANVASITEM, GridCanvasItem)) +#define INKSCAPE_IS_GRID_CANVASITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INKSCAPE_TYPE_GRID_CANVASITEM)) +#define INKSCAPE_IS_GRID_CANVASITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INKSCAPE_TYPE_GRID_CANVASITEM)) class CanvasGrid; diff --git a/src/display/canvas-text.h b/src/display/canvas-text.h index 9a6a93eb4..a621e655c 100644 --- a/src/display/canvas-text.h +++ b/src/display/canvas-text.h @@ -20,8 +20,8 @@ struct SPItem; struct SPDesktop; #define SP_TYPE_CANVASTEXT (sp_canvastext_get_type ()) -#define SP_CANVASTEXT(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CANVASTEXT, SPCanvasText)) -#define SP_IS_CANVASTEXT(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CANVASTEXT)) +#define SP_CANVASTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CANVASTEXT, SPCanvasText)) +#define SP_IS_CANVASTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CANVASTEXT)) struct SPCanvasText : public SPCanvasItem { SPItem *item; // the item to which this line belongs in some sense; may be NULL for some users diff --git a/src/display/gnome-canvas-acetate.h b/src/display/gnome-canvas-acetate.h index 8c284291c..756c663ca 100644 --- a/src/display/gnome-canvas-acetate.h +++ b/src/display/gnome-canvas-acetate.h @@ -20,10 +20,10 @@ #define GNOME_TYPE_CANVAS_ACETATE (sp_canvas_acetate_get_type ()) -#define SP_CANVAS_ACETATE(obj) (GTK_CHECK_CAST ((obj), GNOME_TYPE_CANVAS_ACETATE, SPCanvasAcetate)) -#define SP_CANVAS_ACETATE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOME_TYPE_CANVAS_ACETATE, SPCanvasAcetateClass)) -#define GNOME_IS_CANVAS_ACETATE(obj) (GTK_CHECK_TYPE ((obj), GNOME_TYPE_CANVAS_ACETATE)) -#define GNOME_IS_CANVAS_ACETATE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_CANVAS_ACETATE)) +#define SP_CANVAS_ACETATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_TYPE_CANVAS_ACETATE, SPCanvasAcetate)) +#define SP_CANVAS_ACETATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_TYPE_CANVAS_ACETATE, SPCanvasAcetateClass)) +#define GNOME_IS_CANVAS_ACETATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_TYPE_CANVAS_ACETATE)) +#define GNOME_IS_CANVAS_ACETATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_TYPE_CANVAS_ACETATE)) struct SPCanvasAcetate { diff --git a/src/display/guideline.h b/src/display/guideline.h index dfc3b7007..a3966f76f 100644 --- a/src/display/guideline.h +++ b/src/display/guideline.h @@ -18,8 +18,8 @@ #include "sp-canvas-item.h" #define SP_TYPE_GUIDELINE (sp_guideline_get_type()) -#define SP_GUIDELINE(o) (GTK_CHECK_CAST((o), SP_TYPE_GUIDELINE, SPGuideLine)) -#define SP_IS_GUIDELINE(o) (GTK_CHECK_TYPE((o), SP_TYPE_GUIDELINE)) +#define SP_GUIDELINE(o) (G_TYPE_CHECK_INSTANCE_CAST((o), SP_TYPE_GUIDELINE, SPGuideLine)) +#define SP_IS_GUIDELINE(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), SP_TYPE_GUIDELINE)) class SPCtrlPoint; diff --git a/src/display/sodipodi-ctrl.h b/src/display/sodipodi-ctrl.h index c3b97cbe0..71061b450 100644 --- a/src/display/sodipodi-ctrl.h +++ b/src/display/sodipodi-ctrl.h @@ -14,10 +14,10 @@ #define SP_TYPE_CTRL (sp_ctrl_get_type ()) -#define SP_CTRL(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CTRL, SPCtrl)) -#define SP_CTRL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_CTRL, SPCtrlClass)) -#define SP_IS_CTRL(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CTRL)) -#define SP_IS_CTRL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_CTRL)) +#define SP_CTRL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CTRL, SPCtrl)) +#define SP_CTRL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_CTRL, SPCtrlClass)) +#define SP_IS_CTRL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CTRL)) +#define SP_IS_CTRL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_CTRL)) typedef enum { SP_CTRL_SHAPE_SQUARE, diff --git a/src/display/sodipodi-ctrlrect.h b/src/display/sodipodi-ctrlrect.h index 2ba73a4c9..945deabc4 100644 --- a/src/display/sodipodi-ctrlrect.h +++ b/src/display/sodipodi-ctrlrect.h @@ -23,10 +23,10 @@ struct SPCanvasBuf; #define SP_TYPE_CTRLRECT (sp_ctrlrect_get_type ()) -#define SP_CTRLRECT(obj) (GTK_CHECK_CAST((obj), SP_TYPE_CTRLRECT, CtrlRect)) -#define SP_CTRLRECT_CLASS(c) (GTK_CHECK_CLASS_CAST((c), SP_TYPE_CTRLRECT, SPCtrlRectClass)) -#define SP_IS_CTRLRECT(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CTRLRECT)) -#define SP_IS_CTRLRECT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_CTRLRECT)) +#define SP_CTRLRECT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_CTRLRECT, CtrlRect)) +#define SP_CTRLRECT_CLASS(c) (G_TYPE_CHECK_CLASS_CAST((c), SP_TYPE_CTRLRECT, SPCtrlRectClass)) +#define SP_IS_CTRLRECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CTRLRECT)) +#define SP_IS_CTRLRECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_CTRLRECT)) class CtrlRect : public SPCanvasItem { diff --git a/src/display/sp-canvas-group.h b/src/display/sp-canvas-group.h index 10bf0fa6c..354d389b7 100644 --- a/src/display/sp-canvas-group.h +++ b/src/display/sp-canvas-group.h @@ -24,8 +24,8 @@ #include #define SP_TYPE_CANVAS_GROUP (sp_canvas_group_get_type()) -#define SP_CANVAS_GROUP(obj) (GTK_CHECK_CAST((obj), SP_TYPE_CANVAS_GROUP, SPCanvasGroup)) -#define SP_IS_CANVAS_GROUP(obj) (GTK_CHECK_TYPE((obj), SP_TYPE_CANVAS_GROUP)) +#define SP_CANVAS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_CANVAS_GROUP, SPCanvasGroup)) +#define SP_IS_CANVAS_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_CANVAS_GROUP)) GType sp_canvas_group_get_type(); diff --git a/src/display/sp-canvas-item.h b/src/display/sp-canvas-item.h index 26e5aa1f6..f62dc34a7 100644 --- a/src/display/sp-canvas-item.h +++ b/src/display/sp-canvas-item.h @@ -36,9 +36,9 @@ struct SPCanvasGroup; typedef struct _SPCanvasItemClass SPCanvasItemClass; #define SP_TYPE_CANVAS_ITEM (sp_canvas_item_get_type()) -#define SP_CANVAS_ITEM(obj) (GTK_CHECK_CAST((obj), SP_TYPE_CANVAS_ITEM, SPCanvasItem)) -#define SP_IS_CANVAS_ITEM(obj) (GTK_CHECK_TYPE((obj), SP_TYPE_CANVAS_ITEM)) -#define SP_CANVAS_ITEM_GET_CLASS(o) (GTK_CHECK_GET_CLASS((o), SP_TYPE_CANVAS_ITEM, SPCanvasItemClass)) +#define SP_CANVAS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_CANVAS_ITEM, SPCanvasItem)) +#define SP_IS_CANVAS_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_CANVAS_ITEM)) +#define SP_CANVAS_ITEM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), SP_TYPE_CANVAS_ITEM, SPCanvasItemClass)) GType sp_canvas_item_get_type(); diff --git a/src/display/sp-canvas.h b/src/display/sp-canvas.h index a6ddafb1e..e151911dc 100644 --- a/src/display/sp-canvas.h +++ b/src/display/sp-canvas.h @@ -41,8 +41,8 @@ G_BEGIN_DECLS #define SP_TYPE_CANVAS sp_canvas_get_type() -#define SP_CANVAS(obj) (GTK_CHECK_CAST((obj), SP_TYPE_CANVAS, SPCanvas)) -#define SP_IS_CANVAS(obj) (GTK_CHECK_TYPE((obj), SP_TYPE_CANVAS)) +#define SP_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SP_TYPE_CANVAS, SPCanvas)) +#define SP_IS_CANVAS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SP_TYPE_CANVAS)) GType sp_canvas_get_type(); diff --git a/src/display/sp-ctrlline.h b/src/display/sp-ctrlline.h index e69c478fb..eeed7e75d 100644 --- a/src/display/sp-ctrlline.h +++ b/src/display/sp-ctrlline.h @@ -19,8 +19,8 @@ struct SPItem; #define SP_TYPE_CTRLLINE (sp_ctrlline_get_type ()) -#define SP_CTRLLINE(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CTRLLINE, SPCtrlLine)) -#define SP_IS_CTRLLINE(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CTRLLINE)) +#define SP_CTRLLINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CTRLLINE, SPCtrlLine)) +#define SP_IS_CTRLLINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CTRLLINE)) struct SPCtrlLine : public SPCanvasItem{ SPItem *item; // the item to which this line belongs in some sense; may be NULL for some users diff --git a/src/display/sp-ctrlpoint.h b/src/display/sp-ctrlpoint.h index b98d48f67..907f74bf8 100644 --- a/src/display/sp-ctrlpoint.h +++ b/src/display/sp-ctrlpoint.h @@ -17,8 +17,8 @@ struct SPItem; #define SP_TYPE_CTRLPOINT (sp_ctrlpoint_get_type ()) -#define SP_CTRLPOINT(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CTRLPOINT, SPCtrlPoint)) -#define SP_IS_CTRLPOINT(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CTRLPOINT)) +#define SP_CTRLPOINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CTRLPOINT, SPCtrlPoint)) +#define SP_IS_CTRLPOINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CTRLPOINT)) struct SPCtrlPoint : public SPCanvasItem { SPItem *item; // the item to which this line belongs in some sense; may be NULL for some users diff --git a/src/display/sp-ctrlquadr.h b/src/display/sp-ctrlquadr.h index f3c1ced45..9fdfd29b3 100644 --- a/src/display/sp-ctrlquadr.h +++ b/src/display/sp-ctrlquadr.h @@ -17,8 +17,8 @@ #define SP_TYPE_CTRLQUADR (sp_ctrlquadr_get_type ()) -#define SP_CTRLQUADR(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CTRLQUADR, SPCtrlQuadr)) -#define SP_IS_CTRLQUADR(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CTRLQUADR)) +#define SP_CTRLQUADR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CTRLQUADR, SPCtrlQuadr)) +#define SP_IS_CTRLQUADR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CTRLQUADR)) struct SPCtrlQuadr; struct SPCtrlQuadrClass; -- cgit v1.2.3 From 2402528197627887e374dd2a4269dfdeb19acc58 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Wed, 15 Jun 2011 01:13:10 +0100 Subject: Clean up deprecated GTK_WIDGET API (bzr r10302.1.2) --- src/display/sp-canvas.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/display') diff --git a/src/display/sp-canvas.cpp b/src/display/sp-canvas.cpp index 20c21a8c3..e2220282d 100644 --- a/src/display/sp-canvas.cpp +++ b/src/display/sp-canvas.cpp @@ -537,7 +537,7 @@ sp_canvas_item_grab (SPCanvasItem *item, guint event_mask, GdkCursor *cursor, gu { g_return_val_if_fail (item != NULL, -1); g_return_val_if_fail (SP_IS_CANVAS_ITEM (item), -1); - g_return_val_if_fail (GTK_WIDGET_MAPPED (item->canvas), -1); + g_return_val_if_fail (gtk_widget_get_mapped (GTK_WIDGET (item->canvas)), -1); if (item->canvas->grabbed_item) return -1; @@ -628,7 +628,7 @@ sp_canvas_item_grab_focus (SPCanvasItem *item) { g_return_if_fail (item != NULL); g_return_if_fail (SP_IS_CANVAS_ITEM (item)); - g_return_if_fail (GTK_WIDGET_CAN_FOCUS (GTK_WIDGET (item->canvas))); + g_return_if_fail (gtk_widget_get_can_focus (GTK_WIDGET (item->canvas))); SPCanvasItem *focused_item = item->canvas->focused_item; @@ -1241,7 +1241,7 @@ sp_canvas_size_allocate (GtkWidget *widget, GtkAllocation *allocation) widget->allocation = *allocation; - if (GTK_WIDGET_REALIZED (widget)) { + if (gtk_widget_get_realized (widget)) { gdk_window_move_resize (widget->window, widget->allocation.x, widget->allocation.y, widget->allocation.width, widget->allocation.height); @@ -1967,7 +1967,7 @@ sp_canvas_expose (GtkWidget *widget, GdkEventExpose *event) { SPCanvas *canvas = SP_CANVAS (widget); - if (!GTK_WIDGET_DRAWABLE (widget) || + if (!gtk_widget_is_drawable (widget) || (event->window != SP_CANVAS_WINDOW (canvas))) return FALSE; @@ -2121,7 +2121,7 @@ do_update (SPCanvas *canvas) } /* Paint if able to */ - if (GTK_WIDGET_DRAWABLE (canvas)) { + if (gtk_widget_is_drawable ( GTK_WIDGET (canvas))) { return paint (canvas); } @@ -2205,7 +2205,7 @@ sp_canvas_scroll_to (SPCanvas *canvas, double cx, double cy, unsigned int clear, // scrolling without zoom; redraw only the newly exposed areas if ((dx != 0) || (dy != 0)) { canvas->is_scrolling = is_scrolling; - if (GTK_WIDGET_REALIZED (canvas)) { + if (gtk_widget_get_realized (GTK_WIDGET (canvas))) { gdk_window_scroll (SP_CANVAS_WINDOW (canvas), -dx, -dy); } } @@ -2254,7 +2254,7 @@ sp_canvas_request_redraw (SPCanvas *canvas, int x0, int y0, int x1, int y1) g_return_if_fail (canvas != NULL); g_return_if_fail (SP_IS_CANVAS (canvas)); - if (!GTK_WIDGET_DRAWABLE (canvas)) return; + if (!gtk_widget_is_drawable ( GTK_WIDGET (canvas))) return; if ((x0 >= x1) || (y0 >= y1)) return; bbox.x0 = x0; -- cgit v1.2.3