diff options
Diffstat (limited to 'src/sq_glwidget_helpers.h')
-rw-r--r-- | src/sq_glwidget_helpers.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/sq_glwidget_helpers.h b/src/sq_glwidget_helpers.h new file mode 100644 index 0000000..f8cfbd3 --- /dev/null +++ b/src/sq_glwidget_helpers.h @@ -0,0 +1,74 @@ +/*************************************************************************** + sq_glwidget_helpers.h - description + ------------------- + begin : May 31 2005 + copyright : (C) 2005 by Baryshev Dmitry + email : ksquirrel.iv@gmail.com + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef SQ_GLWIDGET_HELPERS +#define SQ_GLWIDGET_HELPERS + +#include <tdetoolbarbutton.h> + +class TQWMatrix; + +class TDEToolBar; + +struct RGBA; + +class SQ_ToolButtonPopup : public TDEToolBarButton +{ + public: + SQ_ToolButtonPopup(const TQPixmap &pix, const TQString &textLabel, TDEToolBar *parent); + ~SQ_ToolButtonPopup(); +}; + +class SQ_ToolButton : public TQToolButton +{ + public: + SQ_ToolButton(const TQIconSet &iconSet, const TQString &textLabel, TQObject *receiver, + const char *slot, TDEToolBar *parent, const char *name = 0); + ~SQ_ToolButton(); + + static int fixedWidth(); +}; + +inline +int SQ_ToolButton::fixedWidth() +{ + return 26; +} + +namespace SQ_GLHelpers +{ + // 0, 1, 2 + typedef void (* scanLineGetter)(RGBA *data, RGBA *, int rw, int w, int h, int y, int flip); + + void scanLine0(RGBA *, RGBA *, int, int, int, int, int); + void scanLine90(RGBA *, RGBA *, int, int, int, int, int); + void scanLine180(RGBA *, RGBA *, int, int, int, int, int); + void scanLine270(RGBA *, RGBA *, int, int, int, int, int); + + int roundAngle(int ang); + + void subRotation(TQWMatrix &wm, int curangle, int orient); + + /* + * normalize selection rectangle + * sx,sy are X and Y coordinates + * sw x sh is a selection geometry + */ + bool normalizeSelection(int &sx, int &sy, int &sw, int &sh, int w, int h, const TQWMatrix&, int curangle, int orient); +} + +#endif |