Various fixes required by device virtualization in fl_vertex.cxx
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
da5c3c2cbc
commit
435e7f5e23
@ -132,7 +132,7 @@ void Fl_Graphics_Driver::end_points() {
|
||||
|
||||
void Fl_Graphics_Driver::end_line() {
|
||||
if (n < 2) {
|
||||
fl_end_points();
|
||||
end_points();
|
||||
return;
|
||||
}
|
||||
#if defined(USE_X11)
|
||||
@ -158,14 +158,14 @@ void Fl_Graphics_Driver::fixloop() { // remove equal points from closed path
|
||||
|
||||
void Fl_Graphics_Driver::end_loop() {
|
||||
fixloop();
|
||||
if (n>2) fl_transformed_vertex((COORD_T)p[0].x, (COORD_T)p[0].y);
|
||||
fl_end_line();
|
||||
if (n>2) transformed_vertex((COORD_T)p[0].x, (COORD_T)p[0].y);
|
||||
end_line();
|
||||
}
|
||||
|
||||
void Fl_Graphics_Driver::end_polygon() {
|
||||
fixloop();
|
||||
if (n < 3) {
|
||||
fl_end_line();
|
||||
end_line();
|
||||
return;
|
||||
}
|
||||
#if defined(USE_X11)
|
||||
@ -190,7 +190,7 @@ void Fl_Graphics_Driver::end_polygon() {
|
||||
}
|
||||
|
||||
void Fl_Graphics_Driver::begin_complex_polygon() {
|
||||
fl_begin_polygon();
|
||||
begin_polygon();
|
||||
gap_ = 0;
|
||||
#if defined(WIN32)
|
||||
numcount = 0;
|
||||
@ -200,7 +200,7 @@ void Fl_Graphics_Driver::begin_complex_polygon() {
|
||||
void Fl_Graphics_Driver::gap() {
|
||||
while (n>gap_+2 && p[n-1].x == p[gap_].x && p[n-1].y == p[gap_].y) n--;
|
||||
if (n > gap_+2) {
|
||||
fl_transformed_vertex((COORD_T)p[gap_].x, (COORD_T)p[gap_].y);
|
||||
transformed_vertex((COORD_T)p[gap_].x, (COORD_T)p[gap_].y);
|
||||
#if defined(WIN32)
|
||||
counts[numcount++] = n-gap_;
|
||||
#endif
|
||||
@ -211,9 +211,9 @@ void Fl_Graphics_Driver::gap() {
|
||||
}
|
||||
|
||||
void Fl_Graphics_Driver::end_complex_polygon() {
|
||||
fl_gap();
|
||||
gap();
|
||||
if (n < 3) {
|
||||
fl_end_line();
|
||||
end_line();
|
||||
return;
|
||||
}
|
||||
#if defined(USE_X11)
|
||||
@ -242,8 +242,8 @@ void Fl_Graphics_Driver::end_complex_polygon() {
|
||||
// See fl_arc.c for portable version.
|
||||
|
||||
void Fl_Graphics_Driver::circle(double x, double y,double r) {
|
||||
double xt = fl_transform_x(x,y);
|
||||
double yt = fl_transform_y(x,y);
|
||||
double xt = transform_x(x,y);
|
||||
double yt = transform_y(x,y);
|
||||
double rx = r * (m.c ? sqrt(m.a*m.a+m.c*m.c) : fabs(m.a));
|
||||
double ry = r * (m.b ? sqrt(m.b*m.b+m.d*m.d) : fabs(m.d));
|
||||
int llx = (int)rint(xt-rx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user