File indexing completed on 2024-04-28 05:32:09

0001 #ifndef oxygenargbhelper_h
0002 #define oxygenargbhelper_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 * SPDX-FileCopyrightText: 2010 Ruslan Kabatsayev <b7.10110111@gmail.com>
0007 *
0008 * SPDX-License-Identifier: LGPL-2.0-or-later
0009 */
0010 
0011 #include "oxygenhook.h"
0012 
0013 #include <gtk/gtk.h>
0014 
0015 namespace Oxygen
0016 {
0017 
0018     //! handles argb support on a per-application, per-widget basis
0019     class ArgbHelper
0020     {
0021 
0022         public:
0023 
0024         //! constructor
0025         explicit ArgbHelper( void );
0026 
0027         //! destructor
0028         virtual ~ArgbHelper( void );
0029 
0030         //! initialize hooks
0031         void initializeHooks( void );
0032 
0033         protected:
0034 
0035         //! argb hook
0036         static gboolean styleSetHook( GSignalInvocationHint*, guint, const GValue*, gpointer );
0037 
0038         private:
0039 
0040         //! true if hooks are initialized
0041         bool _hooksInitialized;
0042 
0043         //! colormap hook
0044         Hook _styleSetHook;
0045 
0046     };
0047 
0048 }
0049 
0050 #endif