[dia/cairo-port] Remove render_pixmap
- From: Zander <zbrown src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [dia/cairo-port] Remove render_pixmap
- Date: Fri, 7 Dec 2018 05:27:24 +0000 (UTC)
commit b383934d02d74dcb52cece454c71f39ea9b2c82b
Author: Zander Brown <zbrown gnome org>
Date: Fri Dec 7 05:25:41 2018 +0000
Remove render_pixmap
Use cairo for arrow previews
app/makefile.mingw | 1 -
lib/Makefile.am | 2 --
lib/diaarrowchooser.c | 36 ++++++++++---------
lib/makefile.msc | 1 -
lib/render_pixmap.c | 99 ---------------------------------------------------
lib/render_pixmap.h | 30 ----------------
6 files changed, 19 insertions(+), 150 deletions(-)
---
diff --git a/app/makefile.mingw b/app/makefile.mingw
index aa24a1ce..0fb9d49f 100644
--- a/app/makefile.mingw
+++ b/app/makefile.mingw
@@ -68,7 +68,6 @@ OBJECTS = \
properties-dialog.o \
recent_files.o \
render_eps.o \
- render_pixmap.o \
scroll_tool.o \
select.o \
sheets.o \
diff --git a/lib/Makefile.am b/lib/Makefile.am
index ceb526fd..c77c1b4d 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -191,8 +191,6 @@ libdia_la_SOURCES = \
autoroute.h \
parent.c \
parent.h \
- render_pixmap.h \
- render_pixmap.c \
diaarrowchooser.h \
diaarrowchooser.c \
diaarrowselector.c \
diff --git a/lib/diaarrowchooser.c b/lib/diaarrowchooser.c
index 5185a942..9fbb7ae6 100644
--- a/lib/diaarrowchooser.c
+++ b/lib/diaarrowchooser.c
@@ -28,7 +28,7 @@
#include "intl.h"
#include "widgets.h"
#include "diaarrowchooser.h"
-#include "render_pixmap.h"
+#include "renderer/diacairo.h"
static const char *button_menu_key = "dia-button-menu";
static const char *menuitem_enum_key = "dia-menuitem-value";
@@ -166,7 +166,7 @@ dia_arrow_preview_expose(GtkWidget *widget, GdkEventExpose *event)
#endif
Point from, to;
Point move_arrow, move_line, arrow_head;
- DiaRenderer *renderer;
+ DiaCairoRenderer *renderer;
DiaArrowPreview *arrow = DIA_ARROW_PREVIEW(widget);
Arrow arrow_type;
GtkMisc *misc = GTK_MISC(widget);
@@ -175,6 +175,8 @@ dia_arrow_preview_expose(GtkWidget *widget, GdkEventExpose *event)
GdkWindow *win;
int linewidth = 2;
DiaRendererClass *renderer_ops;
+ cairo_surface_t *surface;
+ cairo_t *ctx;
width = widget->allocation.width - misc->xpad * 2;
height = widget->allocation.height - misc->ypad * 2;
@@ -207,37 +209,37 @@ dia_arrow_preview_expose(GtkWidget *widget, GdkEventExpose *event)
point_add(&arrow_head, &move_arrow);
point_add(&to, &move_line);
- renderer = new_pixmap_renderer(win, width, height);
+ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
+
+ renderer = g_object_new (dia_cairo_renderer_get_type (), NULL);
+ renderer->with_alpha = TRUE;
+ renderer->surface = cairo_surface_reference (surface);
+
renderer_ops = DIA_RENDERER_GET_CLASS (renderer);
- renderer_pixmap_set_pixmap(renderer, win, x, y, width, height);
- renderer_ops->begin_render(renderer, NULL);
- renderer_ops->set_linewidth(renderer, linewidth);
+ renderer_ops->begin_render(DIA_RENDERER (renderer), NULL);
+ renderer_ops->set_linewidth(DIA_RENDERER (renderer), linewidth);
{
Color color_bg, color_fg;
GtkStyle *style = gtk_widget_get_style (widget);
/* the text colors are the best approximation to what we had */
-#if GTK_CHECK_VERSION(2,18,0)
GdkColor bg = style->base[gtk_widget_get_state(widget)];
-#else
- GdkColor bg = style->base[GTK_WIDGET_STATE(widget)];
-#endif
-#if GTK_CHECK_VERSION(2,18,0)
GdkColor fg = style->text[gtk_widget_get_state(widget)];
-#else
- GdkColor fg = style->text[GTK_WIDGET_STATE(widget)];
-#endif
GDK_COLOR_TO_DIA(bg, color_bg);
GDK_COLOR_TO_DIA(fg, color_fg);
- renderer_ops->draw_line(renderer, &from, &to, &color_fg);
- arrow_draw (renderer, arrow_type.type,
+ renderer_ops->draw_line(DIA_RENDERER (renderer), &from, &to, &color_fg);
+ arrow_draw (DIA_RENDERER (renderer), arrow_type.type,
&arrow_head, &from,
arrow_type.length,
arrow_type.width,
linewidth, &color_fg, &color_bg);
}
- renderer_ops->end_render(renderer);
+ renderer_ops->end_render(DIA_RENDERER (renderer));
g_object_unref(renderer);
+
+ ctx = gdk_cairo_create (win);
+ cairo_set_source_surface (ctx, surface, x, y);
+ cairo_paint (ctx);
}
return TRUE;
diff --git a/lib/makefile.msc b/lib/makefile.msc
index 2c6d20c1..5ac70db4 100644
--- a/lib/makefile.msc
+++ b/lib/makefile.msc
@@ -121,7 +121,6 @@ OBJECTS = \
propobject.obj \
propoffsets.obj \
propregistry.obj \
- render_pixmap.obj \
sheet.obj \
standard-path.obj \
text.obj \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]