Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 485124
Collapse All | Expand All

(-)a/app/render_gdk.c (-24 / +37 lines)
Lines 50-56 static void copy_to_window (DiaRenderer *renderer, Link Here
50
                gpointer window,
50
                gpointer window,
51
                int x, int y, int width, int height);
51
                int x, int y, int width, int height);
52
52
53
static void dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface)
53
typedef struct _DiaGdkInteractiveRenderer DiaGdkInteractiveRenderer;
54
struct _DiaGdkInteractiveRenderer
55
{
56
  DiaGdkRenderer parent_instance; /*!< inheritance in object oriented C */
57
};
58
typedef struct _DiaGdkInteractiveRendererClass DiaGdkInteractiveRendererClass;
59
struct _DiaGdkInteractiveRendererClass
60
{
61
  DiaGdkRendererClass parent_class; /*!< the base class */
62
};
63
#define DIA_TYPE_GDK_INTERACTIVE_RENDERER           (dia_gdk_interactive_renderer_get_type ())
64
#define DIA_GDK_INTERACTIVE_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_GDK_INTERACTIVE_RENDERER, DiaGdkInteractiveRenderer))
65
66
static void
67
dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface)
54
{
68
{
55
  iface->clip_region_clear = clip_region_clear;
69
  iface->clip_region_clear = clip_region_clear;
56
  iface->clip_region_add_rect = clip_region_add_rect;
70
  iface->clip_region_add_rect = clip_region_add_rect;
Lines 61-95 static void dia_gdk_renderer_iface_init (DiaInteractiveRendererInterface* iface) Link Here
61
  iface->set_size = set_size;
75
  iface->set_size = set_size;
62
}
76
}
63
77
78
G_DEFINE_TYPE_WITH_CODE (DiaGdkInteractiveRenderer, dia_gdk_interactive_renderer, DIA_TYPE_GDK_RENDERER,
79
			 G_IMPLEMENT_INTERFACE (DIA_TYPE_INTERACTIVE_RENDERER_INTERFACE, dia_gdk_renderer_iface_init));
80
81
static void
82
dia_gdk_interactive_renderer_class_init(DiaGdkInteractiveRendererClass *klass)
83
{
84
}
85
static void
86
dia_gdk_interactive_renderer_init(DiaGdkInteractiveRenderer *object)
87
{
88
  DiaGdkInteractiveRenderer *ia_renderer = DIA_GDK_INTERACTIVE_RENDERER (object);
89
  DiaGdkRenderer *renderer = DIA_GDK_RENDERER(object);
90
  DiaRenderer *dia_renderer = DIA_RENDERER(object);
91
  
92
  dia_renderer->is_interactive = 1;
93
94
  renderer->gc = NULL;
95
  renderer->pixmap = NULL;
96
  renderer->clip_region = NULL;
97
}
98
64
DiaRenderer *
99
DiaRenderer *
65
new_gdk_renderer(DDisplay *ddisp)
100
new_gdk_renderer(DDisplay *ddisp)
66
{
101
{
67
  DiaGdkRenderer *renderer;
102
  DiaGdkRenderer *renderer;
68
  GType renderer_type = 0;
103
  GType renderer_type = 0;
69
104
70
  renderer = g_object_new (DIA_TYPE_GDK_RENDERER, NULL);
105
  renderer = g_object_new (DIA_TYPE_GDK_INTERACTIVE_RENDERER, NULL);
71
  renderer->transform = dia_transform_new (&ddisp->visible, &ddisp->zoom_factor);
106
  renderer->transform = dia_transform_new (&ddisp->visible, &ddisp->zoom_factor);
72
  if (!DIA_GET_INTERACTIVE_RENDERER_INTERFACE (renderer))
73
    {
74
      static const GInterfaceInfo irenderer_iface_info = 
75
      {
76
        (GInterfaceInitFunc) dia_gdk_renderer_iface_init,
77
        NULL,           /* iface_finalize */
78
        NULL            /* iface_data     */
79
      };
80
81
      renderer_type = DIA_TYPE_GDK_RENDERER;
82
      /* register the interactive renderer interface */
83
      g_type_add_interface_static (renderer_type,
84
                                   DIA_TYPE_INTERACTIVE_RENDERER_INTERFACE,
85
                                   &irenderer_iface_info);
86
87
    }
88
  renderer->parent_instance.is_interactive = 1;
89
  renderer->gc = NULL;
90
91
  renderer->pixmap = NULL;
92
  renderer->clip_region = NULL;
93
107
94
  return DIA_RENDERER(renderer);
108
  return DIA_RENDERER(renderer);
95
}
109
}
96
-

Return to bug 485124