summaryrefslogtreecommitdiff
path: root/src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-11-07 19:33:43 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2024-11-07 19:33:43 +0100
commit8f987ce8bdbc23b7e5ae3801c56842250f8afc0b (patch)
tree88ba5627003ab067feb674a97fb7685b923f720a /src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx
parent87527017b26fadae156f99c7f356aab5a60c7c27 (diff)
Fix X11: test/curve "points" mode not drawn correctly (#1110)
Diffstat (limited to 'src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx')
-rw-r--r--src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx21
1 files changed, 5 insertions, 16 deletions
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_) {