reactphysics3d/testbed/nanogui/include/nanogui/theme.h

76 lines
1.8 KiB
C++

/*
nanogui/theme.h -- Storage class for basic theme-related properties
The text box widget was contributed by Christian Schueller.
NanoGUI was developed by Wenzel Jakob <wenzel@inf.ethz.ch>.
The widget drawing code is based on the NanoVG demo application
by Mikko Mononen.
All rights reserved. Use of this source code is governed by a
BSD-style license that can be found in the LICENSE.txt file.
*/
#pragma once
#include <nanogui/common.h>
#include <nanogui/object.h>
NAMESPACE_BEGIN(nanogui)
class NANOGUI_EXPORT Theme : public Object {
public:
Theme(NVGcontext *ctx);
/* Fonts */
int mFontNormal;
int mFontBold;
int mFontIcons;
/* Spacing-related parameters */
int mStandardFontSize;
int mButtonFontSize;
int mTextBoxFontSize;
int mWindowCornerRadius;
int mWindowHeaderHeight;
int mWindowDropShadowSize;
int mButtonCornerRadius;
/* Generic colors */
Color mDropShadow;
Color mTransparent;
Color mBorderDark;
Color mBorderLight;
Color mBorderMedium;
Color mTextColor;
Color mDisabledTextColor;
Color mTextColorShadow;
Color mIconColor;
/* Button colors */
Color mButtonGradientTopFocused;
Color mButtonGradientBotFocused;
Color mButtonGradientTopUnfocused;
Color mButtonGradientBotUnfocused;
Color mButtonGradientTopPushed;
Color mButtonGradientBotPushed;
/* Window colors */
Color mWindowFillUnfocused;
Color mWindowFillFocused;
Color mWindowTitleUnfocused;
Color mWindowTitleFocused;
Color mWindowHeaderGradientTop;
Color mWindowHeaderGradientBot;
Color mWindowHeaderSepTop;
Color mWindowHeaderSepBot;
Color mWindowPopup;
Color mWindowPopupTransparent;
protected:
virtual ~Theme() { };
};
NAMESPACE_END(nanogui)