[goffice] Do not clip markers in scatter plots. [#584]



commit 4c87cb56a6c8259f164f41c1522cbba24a3b28d7
Author: Jean Brefort <jean brefort normalesup org>
Date:   Fri Jun 11 11:59:29 2021 +0200

    Do not clip markers in scatter plots. [#584]

 ChangeLog                | 4 ++++
 NEWS                     | 1 +
 plugins/plot_xy/gog-xy.c | 5 +++++
 3 files changed, 10 insertions(+)
---
diff --git a/ChangeLog b/ChangeLog
index e10b4e599..a37a4fefb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2021-06-11  Jean Brefort  <jean brefort normalesup org>
+
+       * plugins/plot_xy/gog-xy.c (gog_xy_view_render): do not clip markers. #584.
+
 2021-06-10  Morten Welinder <terra gnome org>
 
        * configure.ac: Post-release bump.
diff --git a/NEWS b/NEWS
index d4549e340..acf6c1f5c 100644
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ goffice 0.10.50:
 Jean:
        * Fix data update in matrix plots, see Debian #988397.
        * Fix rendering on high resolution monitors when scale is not 1. [#578]
+       * Do not clip markers in scatter plots. [#584]
 
 Morten:
        * Simplify regression equation code.
diff --git a/plugins/plot_xy/gog-xy.c b/plugins/plot_xy/gog-xy.c
index e8b2d34e9..581c7768c 100644
--- a/plugins/plot_xy/gog-xy.c
+++ b/plugins/plot_xy/gog-xy.c
@@ -1415,6 +1415,8 @@ gog_xy_view_render (GogView *view, GogViewAllocation const *bbox)
                if (((GogBubblePlot*)model)->show_negatives)
                        g_object_unref (neg_style);
        }
+       gog_renderer_pop_clip (view->renderer);
+
 
        if (!GOG_IS_BUBBLE_PLOT (model))
                for (j = 0, ptr = model->base.series ; ptr != NULL ; ptr = ptr->next, j++) {
@@ -1481,6 +1483,9 @@ gog_xy_view_render (GogView *view, GogViewAllocation const *bbox)
                }
 
        /* render series labels */
+       // first clip again to avoid labels outside of allocation (#47)
+       gog_renderer_push_clip_rectangle (view->renderer, view->allocation.x, view->allocation.y,
+                         view->allocation.w, view->allocation.h);
        for (j = 0, ptr = model->base.series ; ptr != NULL ; ptr = ptr->next, j++) {
                GSList *labels, *cur;
                double const *cur_x, *cur_y, *cur_z;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]