Warning, /plasma/oxygen/kstyle/README is written in an unsupported language. File is not indexed.

0001 oxygen-style-animated is a branch of trunk/KDE/kdebase/runtime/kstyles/oxygen that introduces smooth animations for the Oxygen widget style.
0002 
0003 The code is organized as follow:
0004 --------------------------------
0005 
0006 1/ oxygenstyle.h and .cpp derive from QCommonStyle and take care of all the painting.
0007 All 'primitives' are implemented as separate functions with identical prototypes and mapped to the corresponding QStyle primitive element at initialization style.
0008 
0009 Some of the painting routines have been moved in oxygenstylehelper, for re-usability.
0010 Additionaly some code that is common to the widget style and the window decoration resides at kdebase/workspace/libs/oxygen.
0011 
0012 2/ since kde4.5 oxygen allows to drag and move windows by clicking in their empty areas. This is handled in the standalone 'oxygenwindowmanager' class.
0013 
0014 3/ Since kde4.4, oxygen styles animates most widgets state changes. The animation code is contained in the ./animations and ./transitions subdirectories.
0015 
0016 Each animation is structured in the following way:
0017 For each element (e.g. QScrollBar) to be animated there are two classes:
0018 
0019 - oxygenscrollbardata: contains the needed information, objects to animate a give QScrollBar instance. This usually consist of one or two QTimeLine, an event filter, and some needed flags + geometrical information.
0020 
0021 - oxygenscrollbarengine: contains the list of all Data objects registered for each new instance of the widget that is animated.
0022 This is used by the style to get the relevant data matching a given widget when painting the later.
0023 
0024 Additionaly, two "factory" classes, oxygenanimations and oxygentransitions, keep track of all the engines and engine setup. They serve as an interface between the animations and the KStyle painting primitives.
0025 
0026 For the animations located in the ./animations subdirectory, how the informations contained by the Data is used to animate a given widget is def in the oxygen KSTyle class.
0027 
0028 For the animations located in the ./transitions subdirectory, handling the animation is performed using a temporary "cover" widget, namely Oxygen::TransitionWidget, and does not necessit any modification to the oxygen.cpp style itself.
0029 
0030 Oxygen-style comes with two standalone applications:
0031 ----------------------------------------------------
0032 
0033 - oxygen-settings, which offers an exhaustive list of configuration options for both the style and the decoration, in addition to the limited set of options available in systemsettings.
0034 
0035 - oxygen-demo, which offers a showcase of how widgets are rendered with oxygen, and is used notably for debugging, and regression checks.
0036 
0037 These applications are not available via kde 'start menu'. They must be typed either in a terminal (e.g. konsole) or via krunner. 
0038