mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-10-31 08:56:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef OPENMW_LUAUI_FLEX
 | |
| #define OPENMW_LUAUI_FLEX
 | |
| 
 | |
| #include "alignment.hpp"
 | |
| #include "widget.hpp"
 | |
| 
 | |
| namespace LuaUi
 | |
| {
 | |
|     class LuaFlex : public MyGUI::Widget, public WidgetExtension
 | |
|     {
 | |
|         MYGUI_RTTI_DERIVED(LuaFlex)
 | |
| 
 | |
|     protected:
 | |
|         MyGUI::IntSize calculateSize() override;
 | |
|         void updateProperties() override;
 | |
|         void updateChildren() override;
 | |
|         MyGUI::IntSize childScalingSize() override;
 | |
| 
 | |
|         void updateCoord() override;
 | |
| 
 | |
|     private:
 | |
|         bool mHorizontal;
 | |
|         bool mAutoSized;
 | |
|         MyGUI::IntSize mChildrenSize;
 | |
|         Alignment mAlign;
 | |
|         Alignment mArrange;
 | |
| 
 | |
|         template <typename T>
 | |
|         T& primary(MyGUI::types::TPoint<T>& point)
 | |
|         {
 | |
|             return mHorizontal ? point.left : point.top;
 | |
|         }
 | |
| 
 | |
|         template <typename T>
 | |
|         T& secondary(MyGUI::types::TPoint<T>& point)
 | |
|         {
 | |
|             return mHorizontal ? point.top : point.left;
 | |
|         }
 | |
| 
 | |
|         template <typename T>
 | |
|         T& primary(MyGUI::types::TSize<T>& size)
 | |
|         {
 | |
|             return mHorizontal ? size.width : size.height;
 | |
|         }
 | |
| 
 | |
|         template <typename T>
 | |
|         T& secondary(MyGUI::types::TSize<T>& size)
 | |
|         {
 | |
|             return mHorizontal ? size.height : size.width;
 | |
|         }
 | |
|     };
 | |
| }
 | |
| 
 | |
| #endif // OPENMW_LUAUI_FLEX
 |