Classes | |
| class | anObject |
| Base class for all Laxkit objects. More... | |
| class | namedObject |
| Further base class for objects that need to have a name. More... | |
| class | EventData |
| Class for sending data messages between windows. More... | |
| class | StrEventData |
| A EventData with a new'd char[] (copied from nstr in constructor), since they are so common. More... | |
| class | StrsEventData |
| A EventData with a new'd char[][] (first element copied from nstr in constructor), since they are so common. More... | |
| class | anXWindow |
| This is the basic window unit for the Laxkit. More... | |
| struct | TimerInfo |
| The TimerInfo class is used with anXApp. More... | |
| class | anXApp |
| This class is the control unit for programs. More... | |
| class | SquishyBox |
| A box with x,y,w,h, prefered w/h, and allowable shrink and expand values for w/h. More... | |
| class | RowColBox |
| Divvies up the child boxes into multiple rows or columns. More... | |
| class | TableData |
| Class used internally for the data of tables, oddly enough. More... | |
| class | TableBox |
| class | SelBox |
| Adds id,info,state to SquishyBox. Used in BoxSelector. More... | |
| class | BoxSelector |
| Abstract base class for selectors based on boxed items. More... | |
| class | Button |
| Abstract base class for single buttons. More... | |
| class | CheckBox |
| Class for a single item checkbox. More... | |
| class | ColorBox |
| A control to select an RGBA color, with each mouse button corresponding to r, g, and b. More... | |
| class | Displayer |
| Somewhat of a graphics wrapper for Xlib graphics functions. More... | |
| class | DoubleBBox |
| Class with double minx,maxx,miny,maxy. More... | |
| class | DoublePanner |
| A PanController that uses doubles as a base. More... | |
| class | FileDialog |
| A dialog for selecting files. More... | |
| class | FileMenuItem |
| Sub class of MenuItem to read in directories only when needed. More... | |
| class | FilePreviewer |
| Previews images if possible, otherwise shows a snippet of text. More... | |
| class | FontDialog |
| class | LaxFont |
| A wrapper for Xlib fonts that contains various metric information. More... | |
| class | FontManager |
| The font manager used by anXApp to simplify keeping track of what fonts are loaded. More... | |
| class | FuncFrame |
| A frame window that uses rpn (reverse polish notation) expressions to define the subwindow positions and dimensions. More... | |
| class | GoodEditWW |
| *** please note this class is currently seriously broken *** Multiline edit with optional word wrap. More... | |
| class | IconButton |
| Simple class for a button that is an icon with optional label. Sends message when pressed. More... | |
| class | IconMenuItem |
| A MenuItem with an element for a LaxImage. More... | |
| class | IconSlider |
| Flip through a number of icons, 1 shown at a time. More... | |
| class | ImageDialog |
| Class to allow viewing and changing info related to an image. More... | |
| class | ImageInfo |
| Kind of a shell to hold various information about an image. More... | |
| class | InputDialog |
| Dialog to enter a single line of text, with optional 3 buttons. More... | |
| class | ItemSlider |
| Abstract base class for a kind of button that increments and decrements itself based on where the mouse is clicked. More... | |
| class | LaxImage |
| Abstraction around images. More... | |
| class | LaxImlibImage |
| A LaxImage based on Imlib_Images. More... | |
| class | LayerPicker |
| Pick layers by number. More... | |
| class | LineEditLatin1 |
| A generic single line text edit. More... | |
| class | LineEdit |
| A generic single line text edit. More... | |
| class | LineInput |
| A LineEdit with a label. More... | |
| class | LinkedList |
| Independent node type for doubly linked lists. More... | |
| class | PtrList |
| A simple doubly linked list of pointers. More... | |
| class | NumStack |
| A generic stack for values (like int, double), not pointers. More... | |
| class | PtrStack |
| A generic stack for pointers (like anXWindow *, char *), not values. More... | |
| class | MenuButton |
| Simple class for a button pops up a menu instead of toggling itself in and out. More... | |
| class | MenuItem |
| Node type for MenuInfo. More... | |
| class | MenuInfo |
| General container for menu types of lists. More... | |
| class | MenuSelector |
| General list and menu controller. Base class for PopupMenu. More... | |
| class | MessageBar |
| A very basic text displayer window. Pass in a chunk of text and this window will display it. You can have multiple lines by putting '\n' characters in the text. More... | |
| class | MessageBox |
| Window that puts a message and buttons like OK or Cancel. More... | |
| class | MultiLineEdit |
| *** please note this class is currently seriously broken *** Multiline edit with optional word wrap. More... | |
| class | NumInputSlider |
| Like NumSlider, but on shift-LBDown lets you type in a value. More... | |
| class | NumSlider |
| A slider control specifically for selecting integer numbers within a range. More... | |
| class | Overwrite |
| Dialog to ask whether to overwrite something. More... | |
| class | PaletteEntry |
| Color instance type for Palette. More... | |
| class | Palette |
| A color palette. You can use a PaletteWindow to handle these. More... | |
| class | PaletteWindow |
| A window to handle Palette instances. More... | |
| class | PanController |
| A convenience for scroller types of things. More... | |
| class | PanPopup |
| Press this, and a little PanWindow pops up. More... | |
| class | PanWindow |
| Lets you drag a little rectangle around an image to select viewable area. More... | |
| class | PanUser |
| Brief class to provide useful stuff for elements that use a PanController. More... | |
| class | PopupMenu |
| Class for, of all things, popup menus. More... | |
| class | PrintContext |
| class | PrintDialog |
| (***rather hideous at the moment...) Dialog to get some sort of context for printing. More... | |
| class | ProgressBar |
| Where would we be without the ability to measure progress? More... | |
| class | HistoryNode |
| Node class for a stack of history for PromptEdit. More... | |
| class | PromptEdit |
| An editor for a command prompt. More... | |
| class | QuickFileOpen |
| A button with "..." on it that pops up a PopupMenu sporting a menu with FileMenuItem entries. More... | |
| class | RefCounted |
| Provides inc_count() and dec_count(). More... | |
| class | RefPtrStack |
| A RefPtrStack with refcounting elements. More... | |
| struct | WinFrameBox |
| Extends SquishyBox to store anXWindow for use in RowFrame. More... | |
| class | RowFrame |
| A frame that lays out in multiple rows or by columns, but only one control deep. More... | |
| class | RulerWindow |
| A ruler that tracks the mouse. More... | |
| class | ScrolledWindow |
| Class to have a window associated with a vertical and horizontal scroller. More... | |
| class | Scroller |
| A vertical or horizontal scroll bar, with optional zooming handles, and togglable arrow positions. More... | |
| class | SimplePrint |
| Simple dialog with option to print to file or via command. More... | |
| class | SliderPopup |
| Basically an extended IconSlider to include a popup MenuSelector. More... | |
| class | PlainWinBox |
| Basically a rectangle with a anXWindow. More... | |
| class | WinFuncNode |
| class | SplitWindow |
| A window with resizable panes than can be split and joined. More... | |
| class | StrIconBox |
| Internal node type for StrIconSelector. More... | |
| class | StrIconSelector |
| A selector using boxes with a label and/or an icon. More... | |
| class | StrSlider |
| A slider control that uses text strings for its items. More... | |
| class | StrSliderPopup |
| Aka a combo box, this basically extends StrSlider to include a popup MenuSelector. More... | |
| class | TabBox |
| Holds the icon and a pointer to the window for elements of a TabFrame. More... | |
| class | TabFrame |
| A frame to hold tabbed windows via TabBox objects. More... | |
| class | TestWindow |
| class to test out the PanController/ScrolledWindow functions. More... | |
| class | TextButton |
| A button with text in it. More... | |
| class | TextEditBase |
| A base class for text edits using Latin-1 character arrays. More... | |
| class | TextEditBaseUtf8 |
| A base class for text edits using utf8 encoded character arrays. More... | |
| class | TextXEditBase |
| The window base class for text edits using Latin-1 characters. More... | |
| class | TextXEditBaseUtf8 |
| The window base class for text edits using Latin-1 characters. More... | |
| class | ToolTip |
| The ToolTip class is used within anXApp. More... | |
| class | XYMesBar |
| Designed to display 2 numbers: "32,45" or "32x45". More... | |
Typedefs | |
| typedef void(* | ImageOutFunc )(LaxImage *image, anXWindow *win, int ulx, int uly) |
| Simply oriented drawing of image to window. | |
| typedef void(* | ImageOutRotatedFunc )(LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury) |
| Drawing image to window with rotation and scaling. | |
| typedef void(* | ImageOutSkewedFunc )(LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury, int llx, int lly) |
| Drawing image to window with rotation, scaling, and skewing. | |
| typedef int(* | GeneratePreviewFunc )(const char *original, const char *preview, const char *format, int width, int height, int fit) |
| typedef LaxImage *(* | LoadImageFunc )(const char *filename) |
| The type of function that loads a file to a LaxImage. Defines load_image(). | |
| typedef LaxImage *(* | LoadImageWithPreviewFunc )(const char *filename, const char *previewfile, int maxx, int maxy, char delpreview) |
| Loads an image, using a preview image. | |
| typedef int(* | CompareFunc )(const char *s1, const char *s1) |
| typedef int(* | DeleteRefCountedFunc )(RefCounted *obj) |
| The type of function in a RefCounted object optionally called on count reaching 0. | |
| typedef anXWindow *(* | NewWindowFunc )(anXWindow *parnt, const char *ntitle, unsigned long style) |
| Function that returns a new window. Used in SplitWindow. | |
Enumerations | |
| enum | TabFrameStyle { TabFrame_Top = (1<<16), TabFrame_Bottom = (1<<17), TabFrame_Right = (1<<18), TabFrame_Left = (1<<19), TabFrame_Stretch = (1<<20), TabFrame_Pile = (1<<21) } |
Functions | |
| int | eventscreen (int e_type, unsigned long mask) |
| Check to see if some kinds of event types are in mask, and so allow them through. | |
| const char * | event_name (int e_type) |
| int | IsWindowChild (anXWindow *top, anXWindow *check) |
| Check if a window (check) is the same as or is descended from another (top). | |
| anXWindow * | TopWindow (anXWindow *win) |
| Return the top level window that win is somewhere nested within. | |
| anXWindow * | findsubwindow (anXWindow *w, Window win) |
| Find the anXWindow having win, and ancestor w. | |
| void | printxcrossing (anXWindow *win, XEvent *e) |
| cerr an XCrossingEvent. This is used in debugging mode.. | |
| unsigned int | filterkeysym (KeySym keysym, unsigned int *state) |
| Converts an Xlib keysym to a Laxkit key value. | |
| unsigned int | composekey (unsigned int k1, unsigned int k2) |
| From 2 keys, typically an ascii key and a dead key, compose another. | |
| int | rgb_to_cmyk (int r, int g, int b, int *c, int *m, int *y, int *k, int max) |
| int | cmyk_to_rgb (int c, int m, int y, int k, int *r, int *g, int *b, int max) |
| void | mapname (char *buf, int m) |
| void | dab () |
| static int | lark_position (const char *str, int *c) |
| const char * | str_from_id (int id) |
| Return pointer to string associated with id, or NULL if none. | |
| int | id_from_str (const char *str, char createifabsent) |
| Return the id associated with str. | |
| int | _laximlib_generate_preview (const char *original, const char *preview, const char *format, int width, int height, int fit) |
| Generate a preview image. Return 0 for success. | |
| void | _laximlib_image_out (LaxImage *image, anXWindow *win, int ulx, int uly) |
| void | _laximlib_image_out_rotated (LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury) |
| void | _laximlib_image_out_skewed (LaxImage *image, anXWindow *win, int ulx, int uly, int urx, int ury, int llx, int lly) |
| LaxImage * | _load_imlib_image (const char *filename) |
| Function that returns a new LaxImlibImage. | |
| LaxImage * | _load_imlib_image_with_preview (const char *filename, const char *previewfile, int maxx, int maxy, char del) |
| Function that returns a new LaxImlibImage with preview. | |
| void | printximageinfo (XImage *x) |
| Print to stdout what properties the XImage has. This is mainly for debugging. | |
| XImage * | png_to_ximage (Display *dpy, Visual *vis, char *filename, XImage **alpha) |
| Create an XImage from a file. | |
| void | InitLaxImlib () |
| Initialize Imlib2 using settings in anXApp::app. | |
| int | getextent_latin1 (const char *str, int *ex, int *ey, int *fasc, int *fdes, char r) |
| Find the text extent with the default font on the default graphics context. | |
| int | textout_latin1 (Drawable drawable, const char *thetext, int len, int x, int y, unsigned long align) |
| Write some text out with the default latin-1 font. Uses foreground color only. | |
| int | getextent (const char *str, int len, int *ex, int *ey, int *fasc, int *fdes, char r) |
| Find the text extent with the default font for the given utf8 text. | |
| int | textout (Drawable drawable, const char *thetext, int len, int x, int y, unsigned long align) |
| Write some utf8 text out with the default LaxFont. Uses foreground color only. | |
| void | get_placement (LaxImage *image, const char *label, int gap, unsigned int how, int *w, int *h, int *tx, int *ty, int *ix, int *iy) |
| Figure out the extent and placement of an image and a label. | |
| unsigned long | screen_color_at_mouse () |
| Return the screen pixel color underneath the mouse. | |
| int | mouseisin (anXWindow *win) |
| Return whether the mouse is within the bounds of win. | |
| Window | mouseposition (int *x, int *y, unsigned int *state, anXWindow **child, Window *childw) |
| Find the window the mouse is finally in. | |
| int | mouseposition (anXWindow *win, int *x, int *y, unsigned int *state, anXWindow **child, Window *childw) |
| Find the mouse x,y in win coordinates, also return the pointer mask, and what child it is in if any. | |
| int | xmouseposition (Window xwin, int *x, int *y, unsigned int *state, Window *childw) |
| Find the mouse x,y in xwin coordinates, also return the pointer mask, and what child it is in if any. | |
| void | drawbevel (anXWindow *win, int bevel, unsigned long highlight, unsigned long shadow, int state, int x, int y, int w, int h) |
| Draw a bevel within x,y,w,h. Draws state== LAX_OFF=not pressed, LAX_ON=pressed. | |
| void | drawthing (Drawable w, GC gc, int x, int y, int rx, int ry, int fill, int t) |
| Draw a little graphic with current foreground and line width. | |
| void | drawthing (Drawable w, GC gc, int x, int y, int rx, int ry, int t, unsigned long fg, unsigned long bg) |
| Draw a thing with outline color fg, and insides color bg. | |
| XRenderColor * | coloravg (XRenderColor *result, XRenderColor *a, XRenderColor *b, float r) |
| result=a*(1-r)+b*r. Returns result. | |
| unsigned long | pixelfromcolor (XRenderColor *col) |
| Return something suitable for Xlib's XSetForeground(). Ignores alpha. | |
| XImage * | xpmfiletoximages (const char *filename, int depth, XImage **clipmask) |
| Create an XImage of the image and clipmask for the xpm in filename with depth depth. | |
| Pixmap | xpmfiletopixmaps (const char *filename, Drawable d, Pixmap *clipmask, int *width, int *height) |
| Convert xpm file filename to Pixmaps for the image and the clipmask, syncing with d. | |
| void | printxpm (const char *filename) |
| Print to stdout the contents of filename. | |
| Cursor | xpmfiletocursor (anXWindow *win, const char *filename) |
| Create a cursor from the xpm file filename. | |
| template<class T> | |
| T *LinkedList< T > | disconnectNode () |
| If this is part of a list, then remove it. | |
| void | menuinfoDump (MenuInfo *menu) |
| int | reversestrcmp (const char *s1, const char *s2) |
| int | reversestrcasecmp (const char *s1, const char *s2) |
| int | strcmp123 (const char *s1, const char *s2) |
| int | strcmp321 (const char *s1, const char *s2) |
| unsigned long | getUniqueNumber () |
| Return a unique unsigned long. | |
| Palette * | rainbowPalette (int w, int h, int max) |
| const char * | tbutnames (unsigned int which) |
| void | dumpctm (double *d) |
| Write out the transform d to cout, or to cerr if DBG is enabled. | |
| double * | transform_identity (double *result) |
| Return identity matrix. If result==NULL, then return a new'd double[6]. | |
| double * | transform_invert (double *result, const double *m) |
| Invert m into result. If result==NULL, then return a new double[6]. | |
| double * | transform_mult (double *result, const double *m, const double *n) |
| Multiply 2 6 member transform arrays: result = m x n, with matrix aligned as in discussion for DoublePanner. | |
| double * | transform_rotate (double *m, double angle) |
| Rotate m by angle. If m==NULL, then return a new'd double[6] with rotation angle. | |
| double * | transform_from_basis (double *result, flatpoint o, flatpoint x, flatpoint y) |
| Find a transform from the given flat basis. Return new double[6] if result==NULL. | |
| void | transform_to_basis (double *m, flatpoint *o, flatpoint *x, flatpoint *y) |
| Decompose a transform to an origin, x axis, and y axis. | |
| double * | transform_from_basics (double *result, double x, double y, double sx, double sy, double angle, double shear) |
| ***imp me! Compose a transform from a position, x scale, y scale, rotation, and (x) shear. | |
| void | transform_to_basics (double *m, double *x, double *y, double *sx, double *sy, double *angle, double *shear) |
| ***imp me! Decompose a transform to a position, x scale, y scale, rotation, and (x) shear. | |
| double * | transform_set (double *m, double a, double b, double c, double d, double x0, double y0) |
| Simple set m[]={a,b,c,d,x0,y0}. | |
| void | transform_copy (double *dest, const double *src) |
| Simple copy transform dest[0..5]=src[0..5]. dest and src must both exist. | |
| flatpoint | transform_point_inverse (double *m, flatpoint p) |
| Return point p transformed by the inverse of matrix m. newpoint=[x,y,1]*m^-1. | |
| flatpoint | transform_point (double *m, double x, double y) |
| Return point p transformed by matrix m. newpoint=[x,y,1]*m. | |
| flatpoint | transform_point (double *m, flatpoint p) |
| Return point p transformed by matrix m. newpoint=[p.x,p.y,1]*m. | |
| flatpoint | transform_vector (double *m, flatpoint p) |
| Return vector p transformed by matrix m. newpoint=[p.x,p.y,0]*m. Basically rotate+scale+shear, no translate. | |
| double * | transform_from_3x3_fixed (double *result, int M[3][3]) |
| Create as possible an affine transform from M, which has 16.16 fixed point elements. | |
| void | transform_to_3x3_fixed (int M[3][3], double *m) |
| Fill result with the affine transform m. | |
| unsigned | utf8decode (const char *p, const char *end, int *len) |
| const char * | utf8fwd (const char *p, const char *start, const char *end) |
| const char * | utf8back (const char *p, const char *start, const char *end) |
| int | utf8bytes (unsigned ucs) |
| int | utf8encode (unsigned ucs, char *buf) |
| unsigned | utf8towc (const char *src, unsigned srclen, wchar_t *dst, unsigned dstlen) |
| unsigned | utf8toa (const char *src, unsigned srclen, char *dst, unsigned dstlen) |
| unsigned | utf8fromwc (char *dst, unsigned dstlen, const wchar_t *src, unsigned srclen) |
| unsigned | utf8froma (char *dst, unsigned dstlen, const char *src, unsigned srclen) |
| int | utf8locale () |
| unsigned | utf8tomb (const char *src, unsigned srclen, char *dst, unsigned dstlen) |
| unsigned | utf8frommb (char *dst, unsigned dstlen, const char *src, unsigned srclen) |
| int | utf8test (const char *src, unsigned srclen) |
Variables | |
| static struct tms | tmsstruct |
| static const char | compose_pairs [] |
| static const char | dead_keys [] |
| static const char | hexdigits [17] = "0123456789ABCDEF" |
| static PtrStack< char > | lax_larks (2) |
| static NumStack< int > | lark_alpha_sorted |
| ImageOutFunc | image_out = _laximlib_image_out |
| The default image to window drawing function. | |
| ImageOutRotatedFunc | image_out_rotated = _laximlib_image_out_rotated |
| The default image to window drawing function with rotation and scaling. | |
| ImageOutSkewedFunc | image_out_skewed = _laximlib_image_out_skewed |
| The default image to window drawing function with skewing. | |
| LoadImageFunc | load_image = _load_imlib_image |
| The default image loading function. Sets up for imlib images... | |
| LoadImageWithPreviewFunc | load_image_with_preview = _load_imlib_image_with_preview |
| GeneratePreviewFunc | generate_preview_image = _laximlib_generate_preview |
| The base preview creator. | |
| ImageOutFunc | image_out |
| The default image to window drawing function. | |
| ImageOutRotatedFunc | image_out_rotated |
| The default image to window drawing function with rotation and scaling. | |
| ImageOutSkewedFunc | image_out_skewed |
| The default image to window drawing function with skewing. | |
| GeneratePreviewFunc | generate_preview_image |
| The base preview creator. | |
| LoadImageFunc | load_image |
| The default image loading function. Sets up for imlib images... | |
| LoadImageWithPreviewFunc | load_image_with_preview |
| DeleteRefCountedFunc | defaultDeleteRefCountedFunc = NULL |
| const char | hexdigits [17] = "0123456789ABCDEF" |
| const char | hexdigits [17] = "0123456789abcdef" |
| static unsigned short | cp1252 [32] |
|
|
Simply oriented drawing of image to window. Draw an image with upper left corner at window coordinates (ulx,uly). Positive y is down. |
|
|
Drawing image to window with rotation and scaling. Draw an image so that the upper left and right corners are at (ulx,uly) and (ulx+urx,uly+ury). |
|
|
Drawing image to window with rotation, scaling, and skewing. Draw an image so that the upper left and right corners are at (ulx,uly) and (ulx+urx,uly+ury), and the lower left corner is at (ulx+llx,uly+lly). |
|
|
Loads an image, using a preview image. If delpreview, then when the LaxImage is destroyed, the file at LaxImage::previewfile is deleted. Note that if an already existing preview is used (that is, no new one is generated), then delpreview reverts to 0, and the already existing preview is untouched in the destructor. |
|
||||||||||||||||||||||||||||
|
Generate a preview image. Return 0 for success. WARNING: this does no sanity checking on file names, and will force an overwrite. It is the responsibility of the calling code to do those things, and to ensure that preview is in fact a writable path.
|
|
||||||||||||
|
From 2 keys, typically an ascii key and a dead key, compose another. If k1 and k2 are not deadkeys and k1 and k2 are greater than 127, then 0 is returned. If k2==0, then try to find a compose code for k1 on its own. In this case, if none is found, 0 is returned. If both k1 and k2 are valid keys, and if the combination is not recognized, then k2 is returned. This is used by anXWindow::CharInput(). |
|
|
this empty function is for debugging purposes to allow breakpoints for the debugger to be encountered at strange places during program execution... |
|
|||||||||
|
If this is part of a list, then remove it. Connects prev_node to next_node if possible. Returns prev_node if it exists, or next_node otherwise. prev_node and next_node get set to NULL. |
|
||||||||||||
|
Check to see if some kinds of event types are in mask, and so allow them through. Note that only KeyPress/KeyRelease/ButtonPress/ButtonRelease/MotionNotify/Enter/Leave/FocusIn/Out GraphicsExpose/Expose events are screened. All others pass right through. Returns nonzero for allow event (not matched in mask), zero for reject event |
|
||||||||||||
|
Converts an Xlib keysym to a Laxkit key value. This is called when Xutf8LookupString() returns a keysym but no buffer data. It is then assumed that the keysym corresponds to some control or function key. If the keysym corresponds directly to a UCS value, then that value is returned. This happens when the keysym>0x01000000. The UCS value is then keysym&0x00ffffff. If a keypad key is detected, then state is modified to have KeypadMask set.
|
|
||||||||||||
|
Find the anXWindow having win, and ancestor w. called from a loop over topwindows in run. Perhaps this should be a window function? |
|
||||||||||||
|
Return the id associated with str. If createifabsent!=0 and str is not known, then a new association is added, and the new id is returned. If createifabsent==0 and the string is not known, then 0 is returned. No string can have 0 associated with it.
|
|
||||||||||||
|
Return the index in the lark_alpha_sorted stack that str would be found. If str is not there, then c is filled with that position in lark_alpha_sorted that the id of the lark must be pushed into.
|
|
||||||||||||
|
|
|
|
Return pointer to string associated with id, or NULL if none. Yes, lark is a take off on Glib's quarks: Laxkit+quARK. Laxkit maintains a hash of strings and associated ids, that can be used as a shortcut for checking string equality for commonly used strings.
|
|
||||||||||||
|
Create as possible an affine transform from M, which has 16.16 fixed point elements. If result is NULL, then create and return a new double[6]. This is mainly to assist in using XTransform in the XRender extension, which allows full 3x3 transformations.
[ a b 0 ]
M=[ c d 0 ] --> [a b c d tx ty]
[ tx ty 1 ]
|
|
||||||||||||
|
Fill result with the affine transform m. Note that if result is NULL, you will crash your program. |
|
|
Initial value: {
'`',
'\'',
'^',
'~',
'-',
'u',
'.',
':',
'*',
'"',
'v',
',',
','
}
|