summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2011-02-04 09:17:45 +0000
committerManolo Gouy <Manolo>2011-02-04 09:17:45 +0000
commit7c932c25d6a74530e5b086d8b0d888546cad10cc (patch)
treea1561813d035706f338629accbf21088a90a159f /src
parent2251609ab3a4db3ed65c6e2974f6f92e0c564a5e (diff)
Added the possibility to call Fl_Paged_Device::scale(factor) with a single argument.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8366 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_GDI_Printer.cxx1
-rw-r--r--src/Fl_Paged_Device.cxx4
-rw-r--r--src/Fl_PostScript.cxx1
-rw-r--r--src/Fl_Quartz_Printer.mm1
-rw-r--r--src/Fl_cocoa.mm2
5 files changed, 7 insertions, 2 deletions
diff --git a/src/Fl_GDI_Printer.cxx b/src/Fl_GDI_Printer.cxx
index 7e148e2bd..b02c8ecab 100644
--- a/src/Fl_GDI_Printer.cxx
+++ b/src/Fl_GDI_Printer.cxx
@@ -209,6 +209,7 @@ void Fl_System_Printer::origin (int deltax, int deltay)
void Fl_System_Printer::scale (float scalex, float scaley)
{
+ if (scaley == 0.) scaley = scalex;
int w, h;
SetWindowExtEx(fl_gc, (int)(720 / scalex + 0.5), (int)(720 / scaley + 0.5), NULL);
printable_rect(&w, &h);
diff --git a/src/Fl_Paged_Device.cxx b/src/Fl_Paged_Device.cxx
index 6bdf24b30..75c0e9dc1 100644
--- a/src/Fl_Paged_Device.cxx
+++ b/src/Fl_Paged_Device.cxx
@@ -206,7 +206,9 @@ void Fl_Paged_Device::origin(int x, int y) {}
After a scale() call, do a printable_rect() call to get the new dimensions of the printable page area.
Successive scale() calls don't combine their effects.
@param scale_x Horizontal dimensions of plot are multiplied by this quantity.
- @param scale_y Same as above, vertically.
+ @param scale_y Same as above, vertically.
+ The value 0. is equivalent to setting \p scale_y = \p scale_x. Thus, scale(factor);
+ is equivalent to scale(factor, factor);
*/
void Fl_Paged_Device::scale (float scale_x, float scale_y) {}
diff --git a/src/Fl_PostScript.cxx b/src/Fl_PostScript.cxx
index 372b3e624..c317beeef 100644
--- a/src/Fl_PostScript.cxx
+++ b/src/Fl_PostScript.cxx
@@ -1402,6 +1402,7 @@ void Fl_PostScript_File_Device::origin(int x, int y)
void Fl_PostScript_File_Device::scale (float s_x, float s_y)
{
+ if (s_y == 0.) s_y = s_x;
Fl_PostScript_Graphics_Driver *ps = driver();
ps->scale_x = s_x;
ps->scale_y = s_y;
diff --git a/src/Fl_Quartz_Printer.mm b/src/Fl_Quartz_Printer.mm
index 946767375..153aef14a 100644
--- a/src/Fl_Quartz_Printer.mm
+++ b/src/Fl_Quartz_Printer.mm
@@ -193,6 +193,7 @@ void Fl_System_Printer::origin(int x, int y)
void Fl_System_Printer::scale (float s_x, float s_y)
{
+ if (s_y == 0.) s_y = s_x;
scale_x = s_x;
scale_y = s_y;
CGContextRestoreGState(fl_gc);
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 49af5d67a..ae328930a 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -2787,7 +2787,7 @@ int Fl_X::screen_init(XRectangle screens[], float dpi[])
if (win->w()>w || win->h()>h) {
scale = (float)w/win->w();
if ((float)h/win->h() < scale) scale = (float)h/win->h();
- printer.scale(scale, scale);
+ printer.scale(scale);
}
//#define ROTATE 1
#ifdef ROTATE