| @@ -17,3 +17,4 @@ examples/nanovg | |||
| examples/qt-embed | |||
| examples/rectangles | |||
| examples/shapes | |||
| examples/text | |||
| @@ -1 +1 @@ | |||
| Subproject commit 8b29f3f3982ea931c65be1ad6a90c7fcea9d634d | |||
| Subproject commit af09cb0a1284337a2592d237caa9ac5a274ce059 | |||
| @@ -42,22 +42,25 @@ debug: | |||
| app: app.cpp ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ | |||
| color: color.cpp ../dpf/dgl/* | |||
| color: color.cpp widgets/ExampleColorWidget.hpp ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ | |||
| demo: demo.cpp widgets/* ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ | |||
| images: images.cpp images_res/* ../dpf/dgl/* | |||
| images: images.cpp widgets/ExampleImagesWidget.hpp images_res/* ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ | |||
| nanovg: nanovg.cpp nanovg_res/* ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) -I../dpf/dgl/src/nanovg $(LINK_FLAGS) -o $@ | |||
| rectangles: rectangles.cpp ../dpf/dgl/* | |||
| rectangles: rectangles.cpp widgets/ExampleRectanglesWidget.hpp ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ | |||
| shapes: shapes.cpp ../dpf/dgl/* | |||
| shapes: shapes.cpp widgets/ExampleShapesWidget.hpp ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ | |||
| text: text.cpp widgets/ExampleTextWidget.hpp ../dpf/dgl/* | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -o $@ | |||
| # -------------------------------------------------------------- | |||
| @@ -0,0 +1,43 @@ | |||
| /* | |||
| * DISTRHO Plugin Framework (DPF) | |||
| * Copyright (C) 2012-2014 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * Permission to use, copy, modify, and/or distribute this software for any purpose with | |||
| * or without fee is hereby granted, provided that the above copyright notice and this | |||
| * permission notice appear in all copies. | |||
| * | |||
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD | |||
| * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN | |||
| * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | |||
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER | |||
| * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |||
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||
| */ | |||
| // ------------------------------------------------------ | |||
| // DGL Stuff | |||
| #include "StandaloneWindow.hpp" | |||
| #include "widgets/ExampleTextWidget.hpp" | |||
| // ------------------------------------------------------ | |||
| // use namespace | |||
| using DGL::StandaloneWindow; | |||
| // ------------------------------------------------------ | |||
| // main entry point | |||
| int main() | |||
| { | |||
| StandaloneWindow swin; | |||
| ExampleTextWidget widget(swin); | |||
| swin.setSize(500, 300); | |||
| swin.setTitle("Text"); | |||
| swin.exec(); | |||
| return 0; | |||
| } | |||
| // ------------------------------------------------------ | |||
| @@ -0,0 +1,75 @@ | |||
| /* | |||
| * DISTRHO Plugin Framework (DPF) | |||
| * Copyright (C) 2012-2014 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * Permission to use, copy, modify, and/or distribute this software for any purpose with | |||
| * or without fee is hereby granted, provided that the above copyright notice and this | |||
| * permission notice appear in all copies. | |||
| * | |||
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD | |||
| * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN | |||
| * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | |||
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER | |||
| * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |||
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||
| */ | |||
| #ifndef EXAMPLE_TEXT_WIDGET_HPP_INCLUDED | |||
| #define EXAMPLE_TEXT_WIDGET_HPP_INCLUDED | |||
| // ------------------------------------------------------ | |||
| // DGL Stuff | |||
| #include "NanoWidget.hpp" | |||
| // ------------------------------------------------------ | |||
| // use namespace | |||
| using DGL::NanoWidget; | |||
| using DGL::Window; | |||
| // ------------------------------------------------------ | |||
| // our widget | |||
| class ExampleTextWidget : public NanoWidget | |||
| { | |||
| public: | |||
| ExampleTextWidget(Window& parent) | |||
| : NanoWidget(parent), | |||
| fFont(createFont("sans", "./nanovg_res/Roboto-Regular.ttf")) | |||
| { | |||
| setSize(500, 300); | |||
| } | |||
| protected: | |||
| void onDisplay() override | |||
| { | |||
| const int width = getWidth(); | |||
| const int height = getHeight(); | |||
| beginFrame(); | |||
| save(); | |||
| fontSize(40.0f); | |||
| textAlign(Align(ALIGN_CENTER|ALIGN_MIDDLE)); | |||
| textLineHeight(20.0f); | |||
| beginPath(); | |||
| fillColor(RGBA(220,220,220,255)); | |||
| roundedRect(10, height/4+10, width-20, height/2-20, 3); | |||
| fill(); | |||
| fillColor(RGBA(0,0,0,220)); | |||
| textBox(10, height/2, width-20, "Hello World!", nullptr); | |||
| restore(); | |||
| endFrame(); | |||
| } | |||
| private: | |||
| FontId fFont; | |||
| }; | |||
| // ------------------------------------------------------ | |||
| #endif // EXAMPLE_TEXT_WIDGET_HPP_INCLUDED | |||