Program Listing for File label.h¶
↰ Return to documentation for file (nanogui/label.h
)
/*
nanogui/label.h -- Text label with an arbitrary font, color, and size
NanoGUI was developed by Wenzel Jakob <wenzel.jakob@epfl.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/widget.h>
NAMESPACE_BEGIN(nanogui)
class NANOGUI_EXPORT Label : public Widget {
public:
Label(Widget *parent, const std::string &caption,
const std::string &font = "sans", int fontSize = -1);
const std::string &caption() const { return mCaption; }
void setCaption(const std::string &caption) { mCaption = caption; }
void setFont(const std::string &font) { mFont = font; }
const std::string &font() const { return mFont; }
Color color() const { return mColor; }
void setColor(const Color& color) { mColor = color; }
virtual void setTheme(Theme *theme) override;
virtual Vector2i preferredSize(NVGcontext *ctx) const override;
virtual void draw(NVGcontext *ctx) override;
virtual void save(Serializer &s) const override;
virtual bool load(Serializer &s) override;
protected:
std::string mCaption;
std::string mFont;
Color mColor;
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
};
NAMESPACE_END(nanogui)