mirror of
https://github.com/fltk/fltk.git
synced 2026-06-06 16:46:52 +08:00
increased matrix stack depth to 32 units and added error messages on under- and overflow error.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4417 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
@@ -2,6 +2,8 @@ CHANGES IN FLTK 1.1.7
|
||||
|
||||
- Documentation fixes (STR #648, STR #692, STR #730, STR
|
||||
#744, STR #745)
|
||||
- Increased matrix stack depth and added over/underfolw error
|
||||
(STR #924)
|
||||
- Reverted Mac Carbon Clipping simplification that broke
|
||||
subwindow clipping (STR #908, SVN r4386)
|
||||
- Fixed bitmap scaling code
|
||||
|
||||
+14
-3
@@ -34,6 +34,7 @@
|
||||
#include <config.h>
|
||||
#include <FL/fl_draw.H>
|
||||
#include <FL/x.H>
|
||||
#include <Fl/FL.H>
|
||||
#include <FL/math.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -41,12 +42,22 @@ struct matrix {double a, b, c, d, x, y;};
|
||||
|
||||
static matrix m = {1, 0, 0, 1, 0, 0};
|
||||
|
||||
static matrix stack[10];
|
||||
static matrix stack[32];
|
||||
static int sptr = 0;
|
||||
|
||||
void fl_push_matrix() {stack[sptr++] = m;}
|
||||
void fl_push_matrix() {
|
||||
if (sptr==32)
|
||||
Fl::error("fl_push_matrix(): matrix stack overflow.");
|
||||
else
|
||||
stack[sptr++] = m;
|
||||
}
|
||||
|
||||
void fl_pop_matrix() {m = stack[--sptr];}
|
||||
void fl_pop_matrix() {
|
||||
if (sptr==0)
|
||||
Fl::error("fl_pop_matrix(): matrix stack underflow.");
|
||||
else
|
||||
m = stack[--sptr];
|
||||
}
|
||||
|
||||
void fl_mult_matrix(double a, double b, double c, double d, double x, double y) {
|
||||
matrix o;
|
||||
|
||||
Reference in New Issue
Block a user