|
|
@@ -22,6 +22,7 @@ |
|
|
|
#include "StandaloneWindow.hpp" |
|
|
|
|
|
|
|
#include "extra/ScopedPointer.hpp" |
|
|
|
#include "extra/String.hpp" |
|
|
|
|
|
|
|
#include "src/nanovg/nanovg.h" |
|
|
|
#include "src/oui-blendish/blendish.h" |
|
|
@@ -48,6 +49,14 @@ public: |
|
|
|
: NanoWidget(groupWidget), |
|
|
|
fState(kStateDefault) |
|
|
|
{ |
|
|
|
NVGcontext* const context(getContext()); |
|
|
|
|
|
|
|
if (nvgFindFont(context, "__dpf_blendish__") < 0) |
|
|
|
{ |
|
|
|
bndSetFont(nvgCreateFont(context, "__dpf_blendish__", "./blendish_res/DejaVuSans.ttf")); |
|
|
|
bndSetIconImage(nvgCreateImage(context, "./blendish_res/blender_icons16.png", 0)); |
|
|
|
} |
|
|
|
|
|
|
|
setSize(250, BND_WIDGET_HEIGHT); |
|
|
|
} |
|
|
|
|
|
|
@@ -107,15 +116,62 @@ class BlendishLabel : public BlendishCommon |
|
|
|
{ |
|
|
|
public: |
|
|
|
BlendishLabel(NanoWidget* groupWidget) |
|
|
|
: BlendishCommon(groupWidget) {} |
|
|
|
: BlendishCommon(groupWidget), |
|
|
|
fIconId(-1), |
|
|
|
fText() |
|
|
|
{ |
|
|
|
setText("this is a label"); |
|
|
|
//_updateBounds(); |
|
|
|
} |
|
|
|
|
|
|
|
int getIconId() const noexcept |
|
|
|
{ |
|
|
|
return fIconId; |
|
|
|
} |
|
|
|
|
|
|
|
void setIconId(int iconId) noexcept |
|
|
|
{ |
|
|
|
if (fIconId == iconId) |
|
|
|
return; |
|
|
|
|
|
|
|
fIconId = iconId; |
|
|
|
_updateBounds(); |
|
|
|
repaint(); |
|
|
|
} |
|
|
|
|
|
|
|
const char* getText() const noexcept |
|
|
|
{ |
|
|
|
return fText; |
|
|
|
} |
|
|
|
|
|
|
|
void setText(const char* text) noexcept |
|
|
|
{ |
|
|
|
if (fText == text) |
|
|
|
return; |
|
|
|
|
|
|
|
fText = text; |
|
|
|
_updateBounds(); |
|
|
|
repaint(); |
|
|
|
} |
|
|
|
|
|
|
|
protected: |
|
|
|
void onNanoDisplay() override |
|
|
|
{ |
|
|
|
bndLabel(getContext(), |
|
|
|
getAbsoluteX(), getAbsoluteY(), getWidth(), getHeight(), |
|
|
|
BND_ICON_HELP, |
|
|
|
"this is a label [help]"); |
|
|
|
fIconId, fText); |
|
|
|
} |
|
|
|
|
|
|
|
private: |
|
|
|
int fIconId; |
|
|
|
String fText; |
|
|
|
|
|
|
|
void _updateBounds() |
|
|
|
{ |
|
|
|
const float width = bndLabelWidth (getContext(), fIconId, fText); |
|
|
|
const float height = bndLabelHeight(getContext(), fIconId, fText, width); |
|
|
|
|
|
|
|
setSize(width, height); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
@@ -271,11 +327,6 @@ public: |
|
|
|
w7(this, true), |
|
|
|
w7b(this, false) |
|
|
|
{ |
|
|
|
NVGcontext* const context(getContext()); |
|
|
|
|
|
|
|
bndSetFont(nvgCreateFont(context, "system", "./blendish_res/DejaVuSans.ttf")); |
|
|
|
bndSetIconImage(nvgCreateImage(context, "./blendish_res/blender_icons16.png", 0)); |
|
|
|
|
|
|
|
w0.setAbsolutePos(10, 10+25*0); |
|
|
|
w1.setAbsolutePos(10, 10+25*1); |
|
|
|
w2.setAbsolutePos(10, 10+25*2); |
|
|
|