File indexing completed on 2024-04-28 05:32:14
0001 #ifndef oxygenrcstyle_h 0002 #define oxygenrcstyle_h 0003 /* 0004 * this file is part of the oxygen gtk engine 0005 * SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0006 * 0007 * based on the Null Theme Engine for Gtk+. 0008 * SPDX-FileCopyrightText: 2008 Robert Staudinger <robert.staudinger@gmail.com> 0009 * 0010 * SPDX-License-Identifier: LGPL-2.0-or-later 0011 */ 0012 0013 #include <gtk/gtk.h> 0014 0015 // Oxygen RcStyle struct 0016 struct OxygenRcStyle 0017 { GtkRcStyle parent; }; 0018 0019 // oxygen RcStyleClass struct 0020 struct OxygenRcStyleClass 0021 { GtkRcStyleClass parent; }; 0022 0023 namespace Oxygen 0024 { 0025 class RCStyle 0026 { 0027 0028 public: 0029 0030 //! type registration 0031 static void registerType( GTypeModule* ); 0032 0033 //! registered type 0034 static GType type( void ); 0035 0036 protected: 0037 0038 //! class initialization method 0039 static void classInit( OxygenRcStyleClass* ); 0040 0041 //! style creation 0042 static GtkStyle* createStyle( GtkRcStyle* ); 0043 0044 //! parse RC options 0045 static guint parse( GtkRcStyle*, GtkSettings*, GScanner* ); 0046 0047 //! merge styles 0048 static void merge( GtkRcStyle*, GtkRcStyle* ); 0049 0050 private: 0051 0052 //! parent class 0053 static GtkRcStyleClass* _parentClass; 0054 0055 //! registered type indo 0056 static GTypeInfo _typeInfo; 0057 0058 //! registered type 0059 static GType _type; 0060 0061 }; 0062 } 0063 0064 0065 #endif /* OXYGEN_RC_STYLE_H */