diff options
Diffstat (limited to 'kstyles/plastik/plastik.h')
-rw-r--r-- | kstyles/plastik/plastik.h | 373 |
1 files changed, 0 insertions, 373 deletions
diff --git a/kstyles/plastik/plastik.h b/kstyles/plastik/plastik.h deleted file mode 100644 index 68f707d79..000000000 --- a/kstyles/plastik/plastik.h +++ /dev/null @@ -1,373 +0,0 @@ -/* Plastik widget style for KDE 3 - Copyright (C) 2003 Sandro Giessl <ceebx@users.sourceforge.net> - - based on the KDE style "dotNET": - Copyright (C) 2001-2002, Chris Lee <clee@kde.org> - Carsten Pfeiffer <pfeiffer@kde.org> - Karol Szwed <gallium@kde.org> - Drawing routines completely reimplemented from KDE3 HighColor, which was - originally based on some stuff from the KDE2 HighColor. - - based on drawing routines of the style "Keramik": - Copyright (c) 2002 Malte Starostik <malte@kde.org> - (c) 2002,2003 Maksim Orlovich <mo002j@mail.rochester.edu> - based on the KDE3 HighColor Style - Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org> - (C) 2001-2002 Fredrik H�glund <fredrik@kde.org> - Drawing routines adapted from the KDE2 HCStyle, - Copyright (C) 2000 Daniel M. Duley <mosfet@kde.org> - (C) 2000 Dirk Mueller <mueller@kde.org> - (C) 2001 Martijn Klingens <klingens@kde.org> - Progressbar code based on TDEStyle, - Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License version 2 as published by the Free Software Foundation. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - */ - -#ifndef __PLASTIK_H -#define __PLASTIK_H - -#include <tdestyle.h> -#include <tqbitmap.h> -#include <tqintcache.h> - -#define u_arrow -4,1, 2,1, -3,0, 1,0, -2,-1, 0,-1, -1,-2 -#define d_arrow -4,-2, 2,-2, -3,-1, 1,-1, -2,0, 0,0, -1,1 -#define l_arrow 0,-3, 0,3,-1,-2,-1,2,-2,-1,-2,1,-3,0 -#define r_arrow -2,-3,-2,3,-1,-2, -1,2,0,-1,0,1,1,0 - -#define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2) - -class TQSettings; -class TQTab; -class TQTimer; - -class PlastikStyle : public TDEStyle -{ - Q_OBJECT - -public: - PlastikStyle(); - virtual ~PlastikStyle(); - - void applicationPolish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *); - void polish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *); - void unPolish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *); - - void drawTDEStylePrimitive(TDEStylePrimitive kpe, - TQPainter* p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget* widget = 0 ) const; - - void drawPrimitive(TQ_PrimitiveElement pe, - TQPainter *p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - const TQStyleOption &opt = TQStyleOption::Default ) const; - - void drawControl(TQ_ControlElement element, - TQPainter *p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget *widget = 0 ) const; - - void drawControlMask( TQ_ControlElement, TQPainter *, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQRect &, const TQStyleOption &, const TQWidget * = 0) const; - - void drawComplexControl(TQ_ComplexControl control, - TQPainter *p, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQRect &r, - const TQColorGroup &cg, - SFlags flags = Style_Default, - SCFlags controls = SC_All, - SCFlags active = SC_None, - const TQStyleOption& = TQStyleOption::Default, - const TQWidget *widget = 0 ) const; - - int pixelMetric(PixelMetric m, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, - const TQWidget *widget = 0 ) const; - - TQRect subRect(SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, - const TQWidget *widget ) const; - - TQRect querySubControlMetrics(TQ_ComplexControl control, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - SubControl subcontrol, - const TQStyleOption &opt = TQStyleOption::Default, - const TQWidget *widget = 0 ) const; - - void drawComplexControlMask(TQStyle::TQ_ComplexControl c, - TQPainter *p, - const TQStyleControlElementData &ceData, - const ControlElementFlags elementFlags, - const TQRect &r, - const TQStyleOption &o=TQStyleOption::Default, - const TQWidget *w = 0) const; - - TQSize sizeFromContents(TQStyle::ContentsType t, - const TQStyleControlElementData &ceData, - ControlElementFlags elementFlags, - const TQSize &s, - const TQStyleOption &o, - const TQWidget *w = 0) const; - - int styleHint(TQ_StyleHint, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, - const TQStyleOption & = TQStyleOption::Default, - TQStyleHintReturn * = 0, const TQWidget * = 0 ) const; - -protected: - enum TabPosition - { - First = 0, - Middle, - Last, - Single // only one tab! - }; - - enum ColorType - { - ButtonContour, - DragButtonContour, - DragButtonSurface, - PanelContour, - PanelLight, - PanelLight2, - PanelDark, - PanelDark2, - MouseOverHighlight, - FocusHighlight, - CheckMark - }; - - enum WidgetState - { - IsEnabled, - IsPressed, // implies IsEnabled - IsHighlighted, // implies IsEnabled - IsDisabled - }; - - // the only way i see to provide all these options - // to renderContour/renderSurface... - enum SurfaceFlags { - Draw_Left = 0x00000001, - Draw_Right = 0x00000002, - Draw_Top = 0x00000004, - Draw_Bottom = 0x00000008, - Highlight_Left = 0x00000010, // surface - Highlight_Right = 0x00000020, // surface - Highlight_Top = 0x00000040, // surface - Highlight_Bottom = 0x00000080, // surface - Is_Sunken = 0x00000100, // surface - Is_Horizontal = 0x00000200, // surface - Is_Highlight = 0x00000400, // surface - Is_Default = 0x00000800, // surface - Is_Disabled = 0x00001000, - Round_UpperLeft = 0x00002000, - Round_UpperRight = 0x00004000, - Round_BottomLeft = 0x00008000, - Round_BottomRight = 0x00010000, - Draw_AlphaBlend = 0x00020000 - }; - - void renderContour(TQPainter *p, - const TQRect &r, - const TQColor &backgroundColor, - const TQColor &contourColor, - const uint flags = Draw_Left|Draw_Right|Draw_Top|Draw_Bottom| - Round_UpperLeft|Round_UpperRight|Round_BottomLeft|Round_BottomRight) const; - - void renderMask(TQPainter *p, - const TQRect &r, - const TQColor &color, - const uint flags = Draw_Left|Draw_Right|Draw_Top|Draw_Bottom| - Round_UpperLeft|Round_UpperRight|Round_BottomLeft|Round_BottomRight) const; - - void renderSurface(TQPainter *p, - const TQRect &r, - const TQColor &backgroundColor, - const TQColor &buttonColor, - const TQColor &highlightColor, - int intensity = 5, - const uint flags = Draw_Left|Draw_Right|Draw_Top|Draw_Bottom| - Round_UpperLeft|Round_UpperRight|Round_BottomLeft|Round_BottomRight| - Is_Horizontal) const; - - inline void renderPixel(TQPainter *p, - const TQPoint &pos, - const int alpha, - const TQColor &color, - const TQColor &background = TQColor(), - bool fullAlphaBlend = true) const; - - void renderButton(TQPainter *p, - const TQRect &r, - const TQColorGroup &g, - bool sunken = false, - bool mouseOver = false, - bool horizontal = true, - bool enabled = true, - bool tdehtmlMode = false) const; - - void renderPanel(TQPainter *p, - const TQRect &r, - const TQColorGroup &g, - const bool pseudo3d = true, - const bool sunken = true) const; - - void renderDot(TQPainter *p, - const TQPoint &point, - const TQColor &baseColor, - const bool thick = false, - const bool sunken = false) const; - - void renderGradient(TQPainter *p, - const TQRect &r, - const TQColor &c1, - const TQColor &c2, - bool horizontal = true) const; - - void renderTab(TQPainter *p, - const TQRect &r, - const TQColorGroup &g, - bool mouseOver = false, - const bool selected = false, - const bool bottom = false, - const TabPosition pos = Middle, - const bool triangular = false, - const bool cornerWidget = false) const; - - virtual void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup& cg, - const TQPopupMenu* popup ) const; - - virtual bool objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *e ); - -protected slots: - void tdehtmlWidgetDestroyed(TQObject* w); - - //Animation slots. - void updateProgressPos(); - void progressBarDestroyed(TQObject* bar); - - inline TQColor getColor(const TQColorGroup &cg, const ColorType t, const bool enabled = true)const; - inline TQColor getColor(const TQColorGroup &cg, const ColorType t, const WidgetState s)const; -private: -// Disable copy constructor and = operator - PlastikStyle( const PlastikStyle & ); - PlastikStyle& operator=( const PlastikStyle & ); - - bool kickerMode, kornMode; - mutable bool flatMode; - - int _contrast; - bool _scrollBarLines; - bool _animateProgressBar; - bool _drawToolBarSeparator; - bool _drawToolBarItemSeparator; - bool _drawFocusRect; - bool _drawTriangularExpander; - bool _inputFocusHighlight; - bool _customOverHighlightColor; - bool _customFocusHighlightColor; - bool _customCheckMarkColor; - TQColor _overHighlightColor; - TQColor _focusHighlightColor; - TQColor _checkMarkColor; - - // track tdehtml widgets. - TQMap<const TQWidget*,bool> tdehtmlWidgets; - - //Animation support. - TQMap<TQWidget*, int> progAnimWidgets; - - // pixmap cache. - enum CacheEntryType { - cSurface, - cGradientTile, - cAlphaDot - }; - struct CacheEntry - { - CacheEntryType type; - int width; - int height; - QRgb c1Rgb; - QRgb c2Rgb; - bool horizontal; - - TQPixmap* pixmap; - - CacheEntry(CacheEntryType t, int w, int h, QRgb c1, QRgb c2 = 0, - bool hor = false, TQPixmap* p = 0 ): - type(t), width(w), height(h), c1Rgb(c1), c2Rgb(c2), horizontal(hor), pixmap(p) - {} - - ~CacheEntry() - { - delete pixmap; - } - - int key() - { - // create an int key from the properties which is used to refer to entries in the TQIntCache. - // the result may not be 100% correct as we don't have so much space in one integer -- use - // == operator after find to make sure we got the right one. :) - return horizontal ^ (type<<1) ^ (width<<5) ^ (height<<10) ^ (c1Rgb<<19) ^ (c2Rgb<<22); - } - - bool operator == (const CacheEntry& other) - { - bool match = (type == other.type) && - (width == other.width) && - (height == other.height) && - (c1Rgb == other.c1Rgb) && - (c1Rgb == other.c1Rgb) && - (horizontal == other.horizontal); -// if(!match) { -// tqDebug("operator ==: CacheEntries don't match!"); -// tqDebug("width: %d\t\tother width: %d", width, other.width); -// tqDebug("height: %d\t\tother height: %d", height, other.height); -// tqDebug("fgRgb: %d\t\tother fgRgb: %d", fgRgb, other.fgRgb); -// tqDebug("bgRgb: %d\t\tother bgRgb: %d", bgRgb, other.bgRgb); -// tqDebug("surfaceFlags: %d\t\tother surfaceFlags: %d", surfaceFlags, other.surfaceFlags); -// } - return match; - } - }; - TQIntCache<CacheEntry> *pixmapCache; - - // For KPE_ListViewBranch - mutable TQBitmap *verticalLine; - mutable TQBitmap *horizontalLine; - - // For progress bar animation - TQTimer *animationTimer; -}; - -#endif // __PLASTIK_H |