Age | Commit message (Collapse) | Author | Files | Lines |
2012年02月05日 | Fix a bug that can lead to premature collection of marker objects | Francesco Abbate | 1 | -1/+1 |
|
2011年12月18日 | Eliminate C++ exceptions from graphical system implementation | Francesco Abbate | 1 | -27/+3 |
|
The rationale is that everything is simpler without C++ exceptions.
No exceptions are raised in the C++ code and errors are handler in the
tradition C fashion. lua_error is not directly called from C++ functions
that may allocate a non POD object on the stack.
If the C++ "new" operator raise an exception the program will abort. The
idea is that handle such an improbable occurrence greatly complicates the
code. Where big chunks of memory are allocated the nothrow variant of
"new" is used, the returned pointer is verified and an error is raised if
the allocation failed.
In the Windows code the bitmap allocation for image may raise an unhandled
exception in there is not enough memory. The memory allocation is done
inside the AGG library so it difficult to change its behavior.
|
2011年12月16日 | Simplify implementation of graphical objects | Francesco Abbate | 1 | -3/+2 |
|
2010年12月28日 | added "scale" affine transformation for graphics pipeline | francesco-ST | 1 | -0/+1 |
|
Added a specific error code. Documentation and fractal example updated.
|
2010年12月02日 | new model for C++/Lua error exception-safe separation gsl-shell-1.0 | francesco-ST | 1 | -3/+7 |
|
Now all the exceptions are trapped in pure C++ functions and a status
code is returned by reference to indicate success or give an error
message. The C function that instruments Lua interface can call lua_error
but is not supposed to catch exceptions and does not allocate auto class
instance that need non-trivial destructors.
|
2010年12月01日 | better C++/lua error handling in agg-parse-trans.cpp and lua-plot.cpp | francesco-ST | 1 | -0/+20 |
|
Design change: now C++ never call lua_error directly but can throw an
exception or return a value that indicate a failure in operation. This
kind of function should use also auto_ptr and stack-allocated (automatic)
object instance to ensure the deallocation of memory and strong exception
safety.
The lua_error can be allocated only by C-style function that does not need
proper stack unwinding (no auto-ptr neither automatic allocated object).
The rationale is that lua_error use setjmp/longjmp that will bypass C++
stack unwinding.
|
2010年09月19日 | optimisation of color allocation strategy | Francesco Abbate | 1 | -1/+3 |
|
2010年08月01日 | complete the template code for drawable objects. | Francesco Abbate | 1 | -8/+3 |
|
The class hierarchy is completely parametrized using templates. The
Lua binding are there but not tested.
|
2010年07月24日 | added window stroke method | Francesco Abbate | 1 | -0/+2 |
|
2010年07月15日 | added "extend" transform for pre3d rendering | francesco-ST | 1 | -8/+0 |
|
The "extend" transform corresponds to agg::conv_contour and it allows
to extend/shrink a polygon. Removed the on_draw callback.
|
2010年07月12日 | added lua methods for the plot window | francesco-ST | 1 | -0/+24 |
|