• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

作図ソフト dia の改良版


Commit MetaInfo

Revision8cfe5c001d6c9360cb85687df1c19f8892149e15 (tree)
Time2014-10-18 22:07:39
AuthorHans Breuer <hans@breu...>
CommiterHans Breuer

Log Message

[transform] xfig: finally support object transformation via draw_object()

a given matrix was turned to a g_warning() in 2010 with commit
cd3b2398704b7c08b9c3e42cd32bac2c78dc7370 but forgotten in 2013 when
DiaTransformRenderer was introduced with commit
507f0cbc725115d14933372272bd67569bee367f

Change Summary

Incremental Difference

--- a/plug-ins/xfig/xfig-export.c
+++ b/plug-ins/xfig/xfig-export.c
@@ -47,6 +47,7 @@
4747 #include "properties.h"
4848 #include "dia_image.h"
4949 #include "group.h"
50+#include "diatransformrenderer.h"
5051
5152 #include "xfig.h"
5253
@@ -1064,13 +1065,20 @@ draw_object(DiaRenderer *self,
10641065 {
10651066 XfigRenderer *renderer = XFIG_RENDERER(self);
10661067
1067- if (!renderer->color_pass)
1068+ if (renderer->color_pass) {
1069+ /* color pass does not need transformation */
1070+ object->ops->draw(object, DIA_RENDERER(renderer));
1071+ } else {
10681072 fprintf(renderer->file, "6 0 0 0 0\n");
1069- if (matrix)
1070- g_warning ("XFigRenderer no transformations");
1071- object->ops->draw(object, DIA_RENDERER(renderer));
1072- if (!renderer->color_pass)
1073+ if (matrix) {
1074+ DiaRenderer *tr = dia_transform_renderer_new (self);
1075+ DIA_RENDERER_GET_CLASS(tr)->draw_object (tr, object, matrix);
1076+ g_object_unref (tr);
1077+ } else {
1078+ object->ops->draw(object, DIA_RENDERER(renderer));
1079+ }
10731080 fprintf(renderer->file, "-6\n");
1081+ }
10741082 }
10751083
10761084 static gboolean