diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-11-07 19:33:43 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2024-11-07 19:33:43 +0100 |
| commit | 8f987ce8bdbc23b7e5ae3801c56842250f8afc0b (patch) | |
| tree | 88ba5627003ab067feb674a97fb7685b923f720a /src/drivers | |
| parent | 87527017b26fadae156f99c7f356aab5a60c7c27 (diff) | |
Fix X11: test/curve "points" mode not drawn correctly (#1110)
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H | 1 | ||||
| -rw-r--r-- | src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx | 21 |
2 files changed, 5 insertions, 17 deletions
diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H index 5f7da4f8a..5045790cc 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.H @@ -125,7 +125,6 @@ public: void restore_clip() FL_OVERRIDE; int not_clipped(int x, int y, int w, int h) FL_OVERRIDE; - void begin_points() FL_OVERRIDE; void begin_line() FL_OVERRIDE; void begin_loop() FL_OVERRIDE; void begin_polygon() FL_OVERRIDE; diff --git a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx index 0fa517b97..dc5bbaca3 100644 --- a/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx +++ b/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx @@ -426,13 +426,6 @@ void Fl_Cairo_Graphics_Driver::reconcat(){ cairo_transform(cairo_, &mat); } -void Fl_Cairo_Graphics_Driver::begin_points() { - cairo_save(cairo_); - concat(); - cairo_new_path(cairo_); - gap_=1; - what=POINTS; -} void Fl_Cairo_Graphics_Driver::begin_line() { cairo_save(cairo_); @@ -460,11 +453,7 @@ void Fl_Cairo_Graphics_Driver::begin_polygon() { void Fl_Cairo_Graphics_Driver::vertex(double x, double y) { if (what==POINTS){ - cairo_move_to(cairo_, x, y); - cairo_rectangle(cairo_, x-0.5, y-0.5, 1, 1); - cairo_fill(cairo_); - gap_=1; - return; + return Fl_Graphics_Driver::vertex(x, y); } if (gap_){ cairo_move_to(cairo_, x, y); @@ -541,7 +530,9 @@ void Fl_Cairo_Graphics_Driver::pie(int x, int y, int w, int h, double a1, double } void Fl_Cairo_Graphics_Driver::end_points() { - end_line(); + for (int i = 0; i < n; i++) { + point(xpoint[i].x, xpoint[i].y); + } } void Fl_Cairo_Graphics_Driver::end_line() { @@ -575,9 +566,7 @@ void Fl_Cairo_Graphics_Driver::end_polygon() { void Fl_Cairo_Graphics_Driver::transformed_vertex(double x, double y) { if (what == POINTS) { - cairo_move_to(cairo_, x, y); - point(x, y); - gap_ = 1; + Fl_Graphics_Driver::transformed_vertex(x, y); } else { reconcat(); if (gap_) { |
