File indexing completed on 2024-05-12 17:05:47

0001 /*
0002     this file is part of the oxygen gtk engine
0003     SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #include "oxygenflatwidgetengine.h"
0009 #include "../oxygengtktypenames.h"
0010 #include "../oxygengtkutils.h"
0011 #include "../config.h"
0012 
0013 #include <string>
0014 
0015 namespace Oxygen
0016 {
0017     //_________________________________________________________
0018     bool FlatWidgetEngine::registerFlatWidget( GtkWidget* widget )
0019     {
0020         if( containsFlat( widget ) ) return false;
0021         _flatData.insert( widget );
0022         BaseEngine::registerWidget( widget );
0023         return true;
0024     }
0025 
0026     //_________________________________________________________
0027     bool FlatWidgetEngine::registerPaintWidget( GtkWidget* widget )
0028     {
0029         if( containsPaint( widget ) ) return false;
0030         _paintData.insert( widget );
0031         BaseEngine::registerWidget( widget );
0032         return true;
0033     }
0034 
0035     //_________________________________________________________
0036     GtkWidget* FlatWidgetEngine::flatParent( GtkWidget* widget )
0037     {
0038 
0039         for( GtkWidget* parent = widget; parent; parent = gtk_widget_get_parent( parent ) )
0040         {
0041             if( containsPaint( parent ) ) return 0x0;
0042             else if( containsFlat( parent ) ) return parent;
0043         }
0044 
0045         return 0L;
0046     }
0047 
0048 }