| @@ -74,8 +74,24 @@ def png2rgba(namespace, filenames): | |||||
| fdC.write(" %3u, %3u, %3u," % (b, g, r)) | fdC.write(" %3u, %3u, %3u," % (b, g, r)) | ||||
| else: | else: | ||||
| r, g, b, a = data | r, g, b, a = data | ||||
| #a -= 100 | |||||
| #if a < 0: a = 0 | |||||
| if filename in ("artwork/claw1.png", | |||||
| "artwork/claw2.png", | |||||
| "artwork/run1.png", | |||||
| "artwork/run2.png", | |||||
| "artwork/run3.png", | |||||
| "artwork/run4.png", | |||||
| "artwork/scratch1.png", | |||||
| "artwork/scratch2.png", | |||||
| "artwork/sit.png", | |||||
| "artwork/tail.png"): | |||||
| if r == 255: | |||||
| a -= 38 | |||||
| if a < 0: a = 0 | |||||
| #a = 0 | |||||
| #else: | |||||
| #r = g = b = 255 | |||||
| fdC.write(" %3u, %3u, %3u, %3u," % (b, g, r, a)) | fdC.write(" %3u, %3u, %3u, %3u," % (b, g, r, a)) | ||||
| if curColumn > 20: | if curColumn > 20: | ||||
| @@ -24,18 +24,20 @@ DistrhoUI3BandEQ::DistrhoUI3BandEQ() | |||||
| : OpenGLUI(), | : OpenGLUI(), | ||||
| fAboutWindow(this) | fAboutWindow(this) | ||||
| { | { | ||||
| Window* win = getParent(); | |||||
| // background | // background | ||||
| fImgBackground = Image(DistrhoArtwork3BandEQ::backgroundData, DistrhoArtwork3BandEQ::backgroundWidth, DistrhoArtwork3BandEQ::backgroundHeight, GL_BGR); | fImgBackground = Image(DistrhoArtwork3BandEQ::backgroundData, DistrhoArtwork3BandEQ::backgroundWidth, DistrhoArtwork3BandEQ::backgroundHeight, GL_BGR); | ||||
| // about | |||||
| Image imageAbout(DistrhoArtwork3BandEQ::aboutData, DistrhoArtwork3BandEQ::aboutWidth, DistrhoArtwork3BandEQ::aboutHeight, GL_BGR); | |||||
| fAboutWindow.setImage(imageAbout); | |||||
| // sliders | // sliders | ||||
| Image sliderImage(DistrhoArtwork3BandEQ::sliderData, DistrhoArtwork3BandEQ::sliderWidth, DistrhoArtwork3BandEQ::sliderHeight); | Image sliderImage(DistrhoArtwork3BandEQ::sliderData, DistrhoArtwork3BandEQ::sliderWidth, DistrhoArtwork3BandEQ::sliderHeight); | ||||
| Point<int> sliderPosStart(57, 43); | Point<int> sliderPosStart(57, 43); | ||||
| Point<int> sliderPosEnd(57, 43 + 160); | Point<int> sliderPosEnd(57, 43 + 160); | ||||
| // slider Low | // slider Low | ||||
| fSliderLow = new ImageSlider(win, sliderImage); | |||||
| fSliderLow = new ImageSlider(this, sliderImage); | |||||
| fSliderLow->setStartPos(sliderPosStart); | fSliderLow->setStartPos(sliderPosStart); | ||||
| fSliderLow->setEndPos(sliderPosEnd); | fSliderLow->setEndPos(sliderPosEnd); | ||||
| fSliderLow->setRange(-24.0f, 24.0f); | fSliderLow->setRange(-24.0f, 24.0f); | ||||
| @@ -67,14 +69,14 @@ DistrhoUI3BandEQ::DistrhoUI3BandEQ() | |||||
| Image knobImage(DistrhoArtwork3BandEQ::knobData, DistrhoArtwork3BandEQ::knobWidth, DistrhoArtwork3BandEQ::knobHeight); | Image knobImage(DistrhoArtwork3BandEQ::knobData, DistrhoArtwork3BandEQ::knobWidth, DistrhoArtwork3BandEQ::knobHeight); | ||||
| // knob Low-Mid | // knob Low-Mid | ||||
| fKnobLowMid = new ImageKnob(win, knobImage); | |||||
| fKnobLowMid = new ImageKnob(this, knobImage); | |||||
| fKnobLowMid->setPos(66, 270); | fKnobLowMid->setPos(66, 270); | ||||
| fKnobLowMid->setRange(0.0f, 1000.0f); | fKnobLowMid->setRange(0.0f, 1000.0f); | ||||
| fKnobLowMid->setValue(220.0f); | fKnobLowMid->setValue(220.0f); | ||||
| fKnobLowMid->setCallback(this); | fKnobLowMid->setCallback(this); | ||||
| // knob Mid-High | // knob Mid-High | ||||
| fKnobMidHigh = new ImageKnob(win, knobImage); | |||||
| fKnobMidHigh = new ImageKnob(this, knobImage); | |||||
| fKnobMidHigh->setPos(160, 270); | fKnobMidHigh->setPos(160, 270); | ||||
| fKnobMidHigh->setRange(1000.0f, 20000.0f); | fKnobMidHigh->setRange(1000.0f, 20000.0f); | ||||
| fKnobMidHigh->setValue(2000.0f); | fKnobMidHigh->setValue(2000.0f); | ||||
| @@ -83,7 +85,7 @@ DistrhoUI3BandEQ::DistrhoUI3BandEQ() | |||||
| // about button | // about button | ||||
| Image aboutImageNormal(DistrhoArtwork3BandEQ::aboutButtonNormalData, DistrhoArtwork3BandEQ::aboutButtonNormalWidth, DistrhoArtwork3BandEQ::aboutButtonNormalHeight); | Image aboutImageNormal(DistrhoArtwork3BandEQ::aboutButtonNormalData, DistrhoArtwork3BandEQ::aboutButtonNormalWidth, DistrhoArtwork3BandEQ::aboutButtonNormalHeight); | ||||
| Image aboutImageHover(DistrhoArtwork3BandEQ::aboutButtonHoverData, DistrhoArtwork3BandEQ::aboutButtonHoverWidth, DistrhoArtwork3BandEQ::aboutButtonHoverHeight); | Image aboutImageHover(DistrhoArtwork3BandEQ::aboutButtonHoverData, DistrhoArtwork3BandEQ::aboutButtonHoverWidth, DistrhoArtwork3BandEQ::aboutButtonHoverHeight); | ||||
| fButtonAbout = new ImageButton(win, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout = new ImageButton(this, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout->setPos(264, 300); | fButtonAbout->setPos(264, 300); | ||||
| fButtonAbout->setCallback(this); | fButtonAbout->setCallback(this); | ||||
| } | } | ||||
| @@ -149,8 +151,6 @@ void DistrhoUI3BandEQ::imageButtonClicked(ImageButton* button, int) | |||||
| if (button != fButtonAbout) | if (button != fButtonAbout) | ||||
| return; | return; | ||||
| Image imageAbout(DistrhoArtwork3BandEQ::aboutData, DistrhoArtwork3BandEQ::aboutWidth, DistrhoArtwork3BandEQ::aboutHeight, GL_BGR); | |||||
| fAboutWindow.setImage(imageAbout); | |||||
| fAboutWindow.exec(); | fAboutWindow.exec(); | ||||
| } | } | ||||
| @@ -18,6 +18,7 @@ | |||||
| #define __DISTRHO_UI_3BANDEQ_HPP__ | #define __DISTRHO_UI_3BANDEQ_HPP__ | ||||
| #include "DistrhoUIOpenGL.hpp" | #include "DistrhoUIOpenGL.hpp" | ||||
| #include "dgl/ImageAboutWindow.hpp" | #include "dgl/ImageAboutWindow.hpp" | ||||
| #include "dgl/ImageButton.hpp" | #include "dgl/ImageButton.hpp" | ||||
| #include "dgl/ImageKnob.hpp" | #include "dgl/ImageKnob.hpp" | ||||
| @@ -37,18 +38,18 @@ class DistrhoUI3BandEQ : public OpenGLUI, | |||||
| { | { | ||||
| public: | public: | ||||
| DistrhoUI3BandEQ(); | DistrhoUI3BandEQ(); | ||||
| ~DistrhoUI3BandEQ(); | |||||
| ~DistrhoUI3BandEQ() override; | |||||
| protected: | protected: | ||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Information | // Information | ||||
| unsigned int d_width() const | |||||
| unsigned int d_width() const override | |||||
| { | { | ||||
| return DistrhoArtwork3BandEQ::backgroundWidth; | return DistrhoArtwork3BandEQ::backgroundWidth; | ||||
| } | } | ||||
| unsigned int d_height() const | |||||
| unsigned int d_height() const override | |||||
| { | { | ||||
| return DistrhoArtwork3BandEQ::backgroundHeight; | return DistrhoArtwork3BandEQ::backgroundHeight; | ||||
| } | } | ||||
| @@ -56,21 +57,21 @@ protected: | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // DSP Callbacks | // DSP Callbacks | ||||
| void d_parameterChanged(uint32_t index, float value); | |||||
| void d_programChanged(uint32_t index); | |||||
| void d_parameterChanged(uint32_t index, float value) override; | |||||
| void d_programChanged(uint32_t index) override; | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Widget Callbacks | // Widget Callbacks | ||||
| void imageButtonClicked(ImageButton* button, int); | |||||
| void imageKnobDragStarted(ImageKnob* knob); | |||||
| void imageKnobDragFinished(ImageKnob* knob); | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value); | |||||
| void imageSliderDragStarted(ImageSlider* slider); | |||||
| void imageSliderDragFinished(ImageSlider* slider); | |||||
| void imageSliderValueChanged(ImageSlider* slider, float value); | |||||
| void imageButtonClicked(ImageButton* button, int) override; | |||||
| void imageKnobDragStarted(ImageKnob* knob) override; | |||||
| void imageKnobDragFinished(ImageKnob* knob) override; | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value) override; | |||||
| void imageSliderDragStarted(ImageSlider* slider) override; | |||||
| void imageSliderDragFinished(ImageSlider* slider) override; | |||||
| void imageSliderValueChanged(ImageSlider* slider, float value) override; | |||||
| void onDisplay(); | |||||
| void onDisplay() override; | |||||
| private: | private: | ||||
| Image fImgBackground; | Image fImgBackground; | ||||
| @@ -16,27 +16,28 @@ | |||||
| #include "DistrhoUI3BandSplitter.hpp" | #include "DistrhoUI3BandSplitter.hpp" | ||||
| #include "dgl/ImageAboutWindow.hpp" | |||||
| START_NAMESPACE_DISTRHO | START_NAMESPACE_DISTRHO | ||||
| // ------------------------------------------------- | // ------------------------------------------------- | ||||
| DistrhoUI3BandSplitter::DistrhoUI3BandSplitter() | DistrhoUI3BandSplitter::DistrhoUI3BandSplitter() | ||||
| : OpenGLUI() | |||||
| : OpenGLUI(), | |||||
| fAboutWindow(this) | |||||
| { | { | ||||
| Window* win = getParent(); | |||||
| // background | // background | ||||
| fImgBackground = Image(DistrhoArtwork3BandSplitter::backgroundData, DistrhoArtwork3BandSplitter::backgroundWidth, DistrhoArtwork3BandSplitter::backgroundHeight, GL_BGR); | fImgBackground = Image(DistrhoArtwork3BandSplitter::backgroundData, DistrhoArtwork3BandSplitter::backgroundWidth, DistrhoArtwork3BandSplitter::backgroundHeight, GL_BGR); | ||||
| // about | |||||
| Image imageAbout(DistrhoArtwork3BandSplitter::aboutData, DistrhoArtwork3BandSplitter::aboutWidth, DistrhoArtwork3BandSplitter::aboutHeight, GL_BGR); | |||||
| fAboutWindow.setImage(imageAbout); | |||||
| // sliders | // sliders | ||||
| Image sliderImage(DistrhoArtwork3BandSplitter::sliderData, DistrhoArtwork3BandSplitter::sliderWidth, DistrhoArtwork3BandSplitter::sliderHeight); | Image sliderImage(DistrhoArtwork3BandSplitter::sliderData, DistrhoArtwork3BandSplitter::sliderWidth, DistrhoArtwork3BandSplitter::sliderHeight); | ||||
| Point<int> sliderPosStart(57, 43); | Point<int> sliderPosStart(57, 43); | ||||
| Point<int> sliderPosEnd(57, 43 + 160); | Point<int> sliderPosEnd(57, 43 + 160); | ||||
| // slider Low | // slider Low | ||||
| fSliderLow = new ImageSlider(win, sliderImage); | |||||
| fSliderLow = new ImageSlider(this, sliderImage); | |||||
| fSliderLow->setStartPos(sliderPosStart); | fSliderLow->setStartPos(sliderPosStart); | ||||
| fSliderLow->setEndPos(sliderPosEnd); | fSliderLow->setEndPos(sliderPosEnd); | ||||
| fSliderLow->setRange(-24.0f, 24.0f); | fSliderLow->setRange(-24.0f, 24.0f); | ||||
| @@ -68,14 +69,14 @@ DistrhoUI3BandSplitter::DistrhoUI3BandSplitter() | |||||
| Image knobImage(DistrhoArtwork3BandSplitter::knobData, DistrhoArtwork3BandSplitter::knobWidth, DistrhoArtwork3BandSplitter::knobHeight); | Image knobImage(DistrhoArtwork3BandSplitter::knobData, DistrhoArtwork3BandSplitter::knobWidth, DistrhoArtwork3BandSplitter::knobHeight); | ||||
| // knob Low-Mid | // knob Low-Mid | ||||
| fKnobLowMid = new ImageKnob(win, knobImage); | |||||
| fKnobLowMid = new ImageKnob(this, knobImage); | |||||
| fKnobLowMid->setPos(66, 270); | fKnobLowMid->setPos(66, 270); | ||||
| fKnobLowMid->setRange(0.0f, 1000.0f); | fKnobLowMid->setRange(0.0f, 1000.0f); | ||||
| fKnobLowMid->setValue(220.0f); | fKnobLowMid->setValue(220.0f); | ||||
| fKnobLowMid->setCallback(this); | fKnobLowMid->setCallback(this); | ||||
| // knob Mid-High | // knob Mid-High | ||||
| fKnobMidHigh = new ImageKnob(win, knobImage); | |||||
| fKnobMidHigh = new ImageKnob(this, knobImage); | |||||
| fKnobMidHigh->setPos(160, 270); | fKnobMidHigh->setPos(160, 270); | ||||
| fKnobMidHigh->setRange(1000.0f, 20000.0f); | fKnobMidHigh->setRange(1000.0f, 20000.0f); | ||||
| fKnobMidHigh->setValue(2000.0f); | fKnobMidHigh->setValue(2000.0f); | ||||
| @@ -84,7 +85,7 @@ DistrhoUI3BandSplitter::DistrhoUI3BandSplitter() | |||||
| // about button | // about button | ||||
| Image aboutImageNormal(DistrhoArtwork3BandSplitter::aboutButtonNormalData, DistrhoArtwork3BandSplitter::aboutButtonNormalWidth, DistrhoArtwork3BandSplitter::aboutButtonNormalHeight); | Image aboutImageNormal(DistrhoArtwork3BandSplitter::aboutButtonNormalData, DistrhoArtwork3BandSplitter::aboutButtonNormalWidth, DistrhoArtwork3BandSplitter::aboutButtonNormalHeight); | ||||
| Image aboutImageHover(DistrhoArtwork3BandSplitter::aboutButtonHoverData, DistrhoArtwork3BandSplitter::aboutButtonHoverWidth, DistrhoArtwork3BandSplitter::aboutButtonHoverHeight); | Image aboutImageHover(DistrhoArtwork3BandSplitter::aboutButtonHoverData, DistrhoArtwork3BandSplitter::aboutButtonHoverWidth, DistrhoArtwork3BandSplitter::aboutButtonHoverHeight); | ||||
| fButtonAbout = new ImageButton(win, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout = new ImageButton(this, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout->setPos(264, 300); | fButtonAbout->setPos(264, 300); | ||||
| fButtonAbout->setCallback(this); | fButtonAbout->setCallback(this); | ||||
| } | } | ||||
| @@ -150,9 +151,7 @@ void DistrhoUI3BandSplitter::imageButtonClicked(ImageButton* button, int) | |||||
| if (button != fButtonAbout) | if (button != fButtonAbout) | ||||
| return; | return; | ||||
| Image imageAbout(DistrhoArtwork3BandSplitter::aboutData, DistrhoArtwork3BandSplitter::aboutWidth, DistrhoArtwork3BandSplitter::aboutHeight, GL_BGR); | |||||
| ImageAboutWindow aboutWindow(getApp(), getParent(), imageAbout); | |||||
| aboutWindow.exec(); | |||||
| fAboutWindow.exec(); | |||||
| } | } | ||||
| void DistrhoUI3BandSplitter::imageKnobDragStarted(ImageKnob* knob) | void DistrhoUI3BandSplitter::imageKnobDragStarted(ImageKnob* knob) | ||||
| @@ -171,7 +170,6 @@ void DistrhoUI3BandSplitter::imageKnobDragFinished(ImageKnob* knob) | |||||
| d_editParameter(DistrhoPlugin3BandSplitter::paramMidHighFreq, false); | d_editParameter(DistrhoPlugin3BandSplitter::paramMidHighFreq, false); | ||||
| } | } | ||||
| void DistrhoUI3BandSplitter::imageKnobValueChanged(ImageKnob* knob, float value) | void DistrhoUI3BandSplitter::imageKnobValueChanged(ImageKnob* knob, float value) | ||||
| { | { | ||||
| if (knob == fKnobLowMid) | if (knob == fKnobLowMid) | ||||
| @@ -18,6 +18,8 @@ | |||||
| #define __DISTRHO_UI_3BANDSPLITTER_HPP__ | #define __DISTRHO_UI_3BANDSPLITTER_HPP__ | ||||
| #include "DistrhoUIOpenGL.hpp" | #include "DistrhoUIOpenGL.hpp" | ||||
| #include "dgl/ImageAboutWindow.hpp" | |||||
| #include "dgl/ImageButton.hpp" | #include "dgl/ImageButton.hpp" | ||||
| #include "dgl/ImageKnob.hpp" | #include "dgl/ImageKnob.hpp" | ||||
| #include "dgl/ImageSlider.hpp" | #include "dgl/ImageSlider.hpp" | ||||
| @@ -36,19 +38,18 @@ class DistrhoUI3BandSplitter : public OpenGLUI, | |||||
| { | { | ||||
| public: | public: | ||||
| DistrhoUI3BandSplitter(); | DistrhoUI3BandSplitter(); | ||||
| ~DistrhoUI3BandSplitter(); | |||||
| ~DistrhoUI3BandSplitter() override; | |||||
| protected: | protected: | ||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Information | // Information | ||||
| unsigned int d_width() const | |||||
| unsigned int d_width() const override | |||||
| { | { | ||||
| return DistrhoArtwork3BandSplitter::backgroundWidth; | return DistrhoArtwork3BandSplitter::backgroundWidth; | ||||
| } | } | ||||
| unsigned int d_height() const | |||||
| unsigned int d_height() const override | |||||
| { | { | ||||
| return DistrhoArtwork3BandSplitter::backgroundHeight; | return DistrhoArtwork3BandSplitter::backgroundHeight; | ||||
| } | } | ||||
| @@ -56,24 +57,25 @@ protected: | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // DSP Callbacks | // DSP Callbacks | ||||
| void d_parameterChanged(uint32_t index, float value); | |||||
| void d_programChanged(uint32_t index); | |||||
| void d_parameterChanged(uint32_t index, float value) override; | |||||
| void d_programChanged(uint32_t index) override; | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Widget Callbacks | // Widget Callbacks | ||||
| void imageButtonClicked(ImageButton* button, int); | |||||
| void imageKnobDragStarted(ImageKnob* knob); | |||||
| void imageKnobDragFinished(ImageKnob* knob); | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value); | |||||
| void imageSliderDragStarted(ImageSlider* slider); | |||||
| void imageSliderDragFinished(ImageSlider* slider); | |||||
| void imageSliderValueChanged(ImageSlider* slider, float value); | |||||
| void imageButtonClicked(ImageButton* button, int) override; | |||||
| void imageKnobDragStarted(ImageKnob* knob) override; | |||||
| void imageKnobDragFinished(ImageKnob* knob) override; | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value) override; | |||||
| void imageSliderDragStarted(ImageSlider* slider) override; | |||||
| void imageSliderDragFinished(ImageSlider* slider) override; | |||||
| void imageSliderValueChanged(ImageSlider* slider, float value) override; | |||||
| void onDisplay(); | |||||
| void onDisplay() override; | |||||
| private: | private: | ||||
| Image fImgBackground; | Image fImgBackground; | ||||
| ImageAboutWindow fAboutWindow; | |||||
| ImageSlider* fSliderLow; | ImageSlider* fSliderLow; | ||||
| ImageSlider* fSliderMid; | ImageSlider* fSliderMid; | ||||
| @@ -5,6 +5,16 @@ | |||||
| namespace DistrhoArtworkNekobi | namespace DistrhoArtworkNekobi | ||||
| { | { | ||||
| extern const char* aboutButtonHoverData; | |||||
| const unsigned int aboutButtonHoverDataSize = 7600; | |||||
| const unsigned int aboutButtonHoverWidth = 95; | |||||
| const unsigned int aboutButtonHoverHeight = 20; | |||||
| extern const char* aboutButtonNormalData; | |||||
| const unsigned int aboutButtonNormalDataSize = 7600; | |||||
| const unsigned int aboutButtonNormalWidth = 95; | |||||
| const unsigned int aboutButtonNormalHeight = 20; | |||||
| extern const char* backgroundData; | extern const char* backgroundData; | ||||
| const unsigned int backgroundDataSize = 206064; | const unsigned int backgroundDataSize = 206064; | ||||
| const unsigned int backgroundWidth = 636; | const unsigned int backgroundWidth = 636; | ||||
| @@ -21,9 +31,9 @@ namespace DistrhoArtworkNekobi | |||||
| const unsigned int claw2Height = 32; | const unsigned int claw2Height = 32; | ||||
| extern const char* knobData; | extern const char* knobData; | ||||
| const unsigned int knobDataSize = 288444; | |||||
| const unsigned int knobWidth = 43; | |||||
| const unsigned int knobHeight = 1677; | |||||
| const unsigned int knobDataSize = 390000; | |||||
| const unsigned int knobWidth = 50; | |||||
| const unsigned int knobHeight = 1950; | |||||
| extern const char* run1Data; | extern const char* run1Data; | ||||
| const unsigned int run1DataSize = 4096; | const unsigned int run1DataSize = 4096; | ||||
| @@ -61,9 +71,9 @@ namespace DistrhoArtworkNekobi | |||||
| const unsigned int sitHeight = 32; | const unsigned int sitHeight = 32; | ||||
| extern const char* sliderData; | extern const char* sliderData; | ||||
| const unsigned int sliderDataSize = 4624; | |||||
| const unsigned int sliderWidth = 34; | |||||
| const unsigned int sliderHeight = 34; | |||||
| const unsigned int sliderDataSize = 6084; | |||||
| const unsigned int sliderWidth = 39; | |||||
| const unsigned int sliderHeight = 39; | |||||
| extern const char* tailData; | extern const char* tailData; | ||||
| const unsigned int tailDataSize = 4096; | const unsigned int tailDataSize = 4096; | ||||
| @@ -24,21 +24,25 @@ START_NAMESPACE_DISTRHO | |||||
| // ------------------------------------------------- | // ------------------------------------------------- | ||||
| DistrhoUINekobi::DistrhoUINekobi() | DistrhoUINekobi::DistrhoUINekobi() | ||||
| : OpenGLUI() | |||||
| : OpenGLUI(), | |||||
| fAboutWindow(this) | |||||
| { | { | ||||
| Window* win = getParent(); | |||||
| // FIXME | |||||
| fNeko.setTimerSpeed(4); | fNeko.setTimerSpeed(4); | ||||
| // background | // background | ||||
| fImgBackground = Image(DistrhoArtworkNekobi::backgroundData, DistrhoArtworkNekobi::backgroundWidth, DistrhoArtworkNekobi::backgroundHeight, GL_BGR); | fImgBackground = Image(DistrhoArtworkNekobi::backgroundData, DistrhoArtworkNekobi::backgroundWidth, DistrhoArtworkNekobi::backgroundHeight, GL_BGR); | ||||
| // TODO - about png | |||||
| Image imageAbout(DistrhoArtworkNekobi::aboutButtonHoverData, DistrhoArtworkNekobi::aboutButtonHoverWidth, DistrhoArtworkNekobi::aboutButtonHoverHeight, GL_BGRA); | |||||
| fAboutWindow.setImage(imageAbout); | |||||
| // slider | // slider | ||||
| Image sliderImage(DistrhoArtworkNekobi::sliderData, DistrhoArtworkNekobi::sliderWidth, DistrhoArtworkNekobi::sliderHeight); | Image sliderImage(DistrhoArtworkNekobi::sliderData, DistrhoArtworkNekobi::sliderWidth, DistrhoArtworkNekobi::sliderHeight); | ||||
| fSliderWaveform = new ImageSlider(win, sliderImage); | |||||
| fSliderWaveform->setStartPos(135, 39); | |||||
| fSliderWaveform->setEndPos(135, 65); | |||||
| fSliderWaveform = new ImageSlider(this, sliderImage); | |||||
| fSliderWaveform->setStartPos(133, 38); | |||||
| fSliderWaveform->setEndPos(133, 64); | |||||
| fSliderWaveform->setRange(0.0f, 1.0f); | fSliderWaveform->setRange(0.0f, 1.0f); | ||||
| fSliderWaveform->setValue(0.0f); | fSliderWaveform->setValue(0.0f); | ||||
| fSliderWaveform->setCallback(this); | fSliderWaveform->setCallback(this); | ||||
| @@ -47,53 +51,60 @@ DistrhoUINekobi::DistrhoUINekobi() | |||||
| Image knobImage(DistrhoArtworkNekobi::knobData, DistrhoArtworkNekobi::knobWidth, DistrhoArtworkNekobi::knobHeight); | Image knobImage(DistrhoArtworkNekobi::knobData, DistrhoArtworkNekobi::knobWidth, DistrhoArtworkNekobi::knobHeight); | ||||
| // knob Tuning | // knob Tuning | ||||
| fKnobTuning = new ImageKnob(win, knobImage); | |||||
| fKnobTuning->setPos(44, 46); | |||||
| fKnobTuning = new ImageKnob(this, knobImage); | |||||
| fKnobTuning->setPos(42, 45); | |||||
| fKnobTuning->setRange(-12.0f, 12.0f); | fKnobTuning->setRange(-12.0f, 12.0f); | ||||
| fKnobTuning->setValue(0.0f); | fKnobTuning->setValue(0.0f); | ||||
| fKnobTuning->setCallback(this); | fKnobTuning->setCallback(this); | ||||
| // knob Cutoff | // knob Cutoff | ||||
| fKnobCutoff = new ImageKnob(win, knobImage); | |||||
| fKnobCutoff->setPos(187, 46); | |||||
| fKnobCutoff = new ImageKnob(this, knobImage); | |||||
| fKnobCutoff->setPos(185, 45); | |||||
| fKnobCutoff->setRange(0.0f, 100.0f); | fKnobCutoff->setRange(0.0f, 100.0f); | ||||
| fKnobCutoff->setValue(25.0f); | fKnobCutoff->setValue(25.0f); | ||||
| fKnobCutoff->setCallback(this); | fKnobCutoff->setCallback(this); | ||||
| // knob Resonance | // knob Resonance | ||||
| fKnobResonance = new ImageKnob(win, knobImage); | |||||
| fKnobResonance->setPos(260, 46); | |||||
| fKnobResonance = new ImageKnob(this, knobImage); | |||||
| fKnobResonance->setPos(258, 45); | |||||
| fKnobResonance->setRange(0.0f, 95.0f); | fKnobResonance->setRange(0.0f, 95.0f); | ||||
| fKnobResonance->setValue(25.0f); | fKnobResonance->setValue(25.0f); | ||||
| fKnobResonance->setCallback(this); | fKnobResonance->setCallback(this); | ||||
| // knob Env Mod | // knob Env Mod | ||||
| fKnobEnvMod = new ImageKnob(win, knobImage); | |||||
| fKnobEnvMod->setPos(332, 46); | |||||
| fKnobEnvMod = new ImageKnob(this, knobImage); | |||||
| fKnobEnvMod->setPos(330, 45); | |||||
| fKnobEnvMod->setRange(0.0f, 100.0f); | fKnobEnvMod->setRange(0.0f, 100.0f); | ||||
| fKnobEnvMod->setValue(50.0f); | fKnobEnvMod->setValue(50.0f); | ||||
| fKnobEnvMod->setCallback(this); | fKnobEnvMod->setCallback(this); | ||||
| // knob Decay | // knob Decay | ||||
| fKnobDecay = new ImageKnob(win, knobImage); | |||||
| fKnobDecay->setPos(404, 46); | |||||
| fKnobDecay = new ImageKnob(this, knobImage); | |||||
| fKnobDecay->setPos(402, 45); | |||||
| fKnobDecay->setRange(0.0f, 100.0f); | fKnobDecay->setRange(0.0f, 100.0f); | ||||
| fKnobDecay->setValue(75.0f); | fKnobDecay->setValue(75.0f); | ||||
| fKnobDecay->setCallback(this); | fKnobDecay->setCallback(this); | ||||
| // knob Accent | // knob Accent | ||||
| fKnobAccent = new ImageKnob(win, knobImage); | |||||
| fKnobAccent->setPos(476, 46); | |||||
| fKnobAccent = new ImageKnob(this, knobImage); | |||||
| fKnobAccent->setPos(474, 45); | |||||
| fKnobAccent->setRange(0.0f, 100.0f); | fKnobAccent->setRange(0.0f, 100.0f); | ||||
| fKnobAccent->setValue(25.0f); | fKnobAccent->setValue(25.0f); | ||||
| fKnobAccent->setCallback(this); | fKnobAccent->setCallback(this); | ||||
| // knob Volume | // knob Volume | ||||
| fKnobVolume = new ImageKnob(win, knobImage); | |||||
| fKnobVolume->setPos(548, 46); | |||||
| fKnobVolume = new ImageKnob(this, knobImage); | |||||
| fKnobVolume->setPos(546, 45); | |||||
| fKnobVolume->setRange(0.0f, 100.0f); | fKnobVolume->setRange(0.0f, 100.0f); | ||||
| fKnobVolume->setValue(75.0f); | fKnobVolume->setValue(75.0f); | ||||
| fKnobVolume->setCallback(this); | fKnobVolume->setCallback(this); | ||||
| // about button | |||||
| Image aboutImageNormal(DistrhoArtworkNekobi::aboutButtonNormalData, DistrhoArtworkNekobi::aboutButtonNormalWidth, DistrhoArtworkNekobi::aboutButtonNormalHeight); | |||||
| Image aboutImageHover(DistrhoArtworkNekobi::aboutButtonHoverData, DistrhoArtworkNekobi::aboutButtonHoverWidth, DistrhoArtworkNekobi::aboutButtonHoverHeight); | |||||
| fButtonAbout = new ImageButton(this, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout->setPos(500, 5); | |||||
| fButtonAbout->setCallback(this); | |||||
| } | } | ||||
| DistrhoUINekobi::~DistrhoUINekobi() | DistrhoUINekobi::~DistrhoUINekobi() | ||||
| @@ -106,6 +117,7 @@ DistrhoUINekobi::~DistrhoUINekobi() | |||||
| delete fKnobDecay; | delete fKnobDecay; | ||||
| delete fKnobAccent; | delete fKnobAccent; | ||||
| delete fKnobVolume; | delete fKnobVolume; | ||||
| delete fButtonAbout; | |||||
| } | } | ||||
| // ------------------------------------------------- | // ------------------------------------------------- | ||||
| @@ -155,7 +167,7 @@ void DistrhoUINekobi::d_programChanged(uint32_t index) | |||||
| fKnobEnvMod->setValue(50.0f); | fKnobEnvMod->setValue(50.0f); | ||||
| fKnobDecay->setValue(75.0f); | fKnobDecay->setValue(75.0f); | ||||
| fKnobAccent->setValue(25.0f); | fKnobAccent->setValue(25.0f); | ||||
| fKnobVolume->setValue(50.0f); | |||||
| fKnobVolume->setValue(75.0f); | |||||
| } | } | ||||
| void DistrhoUINekobi::d_noteReceived(bool onOff, uint8_t, uint8_t note, uint8_t) | void DistrhoUINekobi::d_noteReceived(bool onOff, uint8_t, uint8_t note, uint8_t) | ||||
| @@ -180,7 +192,10 @@ void DistrhoUINekobi::d_uiIdle() | |||||
| void DistrhoUINekobi::imageButtonClicked(ImageButton* button, int) | void DistrhoUINekobi::imageButtonClicked(ImageButton* button, int) | ||||
| { | { | ||||
| (void)button; | |||||
| if (button != fButtonAbout) | |||||
| return; | |||||
| fAboutWindow.exec(); | |||||
| } | } | ||||
| void DistrhoUINekobi::imageKnobDragStarted(ImageKnob* knob) | void DistrhoUINekobi::imageKnobDragStarted(ImageKnob* knob) | ||||
| @@ -19,6 +19,8 @@ | |||||
| #define __DISTRHO_UI_3BANDEQ_HPP__ | #define __DISTRHO_UI_3BANDEQ_HPP__ | ||||
| #include "DistrhoUIOpenGL.hpp" | #include "DistrhoUIOpenGL.hpp" | ||||
| #include "dgl/ImageAboutWindow.hpp" | |||||
| #include "dgl/ImageButton.hpp" | #include "dgl/ImageButton.hpp" | ||||
| #include "dgl/ImageKnob.hpp" | #include "dgl/ImageKnob.hpp" | ||||
| #include "dgl/ImageSlider.hpp" | #include "dgl/ImageSlider.hpp" | ||||
| @@ -91,7 +93,9 @@ private: | |||||
| ImageKnob* fKnobAccent; | ImageKnob* fKnobAccent; | ||||
| ImageKnob* fKnobVolume; | ImageKnob* fKnobVolume; | ||||
| ImageButton* fButtonAbout; | |||||
| ImageSlider* fSliderWaveform; | ImageSlider* fSliderWaveform; | ||||
| ImageAboutWindow fAboutWindow; | |||||
| }; | }; | ||||
| // ------------------------------------------------- | // ------------------------------------------------- | ||||
| @@ -46,23 +46,23 @@ class DistrhoUINotes : public QtUI | |||||
| public: | public: | ||||
| DistrhoUINotes(); | DistrhoUINotes(); | ||||
| ~DistrhoUINotes(); | |||||
| ~DistrhoUINotes() override; | |||||
| protected: | protected: | ||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Information | // Information | ||||
| bool d_resizable() | |||||
| bool d_resizable() const override | |||||
| { | { | ||||
| return true; | return true; | ||||
| } | } | ||||
| uint d_minimumWidth() | |||||
| uint d_minimumWidth() const override | |||||
| { | { | ||||
| return 180; | return 180; | ||||
| } | } | ||||
| uint d_minimumHeight() | |||||
| uint d_minimumHeight() const override | |||||
| { | { | ||||
| return 150; | return 150; | ||||
| } | } | ||||
| @@ -70,18 +70,18 @@ protected: | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // DSP Callbacks | // DSP Callbacks | ||||
| void d_parameterChanged(uint32_t index, float value); | |||||
| void d_stateChanged(const char* key, const char* value); | |||||
| void d_parameterChanged(uint32_t index, float value) override; | |||||
| void d_stateChanged(const char* key, const char* value) override; | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // UI Callbacks | // UI Callbacks | ||||
| void d_uiIdle(); | |||||
| void d_uiIdle() override; | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // listen for resize events | // listen for resize events | ||||
| void resizeEvent(QResizeEvent*); | |||||
| void resizeEvent(QResizeEvent*) override; | |||||
| private slots: | private slots: | ||||
| void buttonClicked(bool click); | void buttonClicked(bool click); | ||||
| @@ -21,14 +21,14 @@ namespace DistrhoArtworkPingPongPan | |||||
| const unsigned int aboutButtonNormalHeight = 20; | const unsigned int aboutButtonNormalHeight = 20; | ||||
| extern const char* backgroundData; | extern const char* backgroundData; | ||||
| const unsigned int backgroundDataSize = 150552; | |||||
| const unsigned int backgroundWidth = 369; | |||||
| const unsigned int backgroundHeight = 136; | |||||
| const unsigned int backgroundDataSize = 157080; | |||||
| const unsigned int backgroundWidth = 308; | |||||
| const unsigned int backgroundHeight = 170; | |||||
| extern const char* knobData; | extern const char* knobData; | ||||
| const unsigned int knobDataSize = 721344; | |||||
| const unsigned int knobWidth = 68; | |||||
| const unsigned int knobHeight = 2652; | |||||
| const unsigned int knobDataSize = 700284; | |||||
| const unsigned int knobWidth = 67; | |||||
| const unsigned int knobHeight = 2613; | |||||
| } | } | ||||
| #endif // BINARY_DISTRHOARTWORKPINGPONGPAN_HPP | #endif // BINARY_DISTRHOARTWORKPINGPONGPAN_HPP | ||||
| @@ -23,26 +23,29 @@ START_NAMESPACE_DISTRHO | |||||
| // ------------------------------------------------- | // ------------------------------------------------- | ||||
| DistrhoUIPingPongPan::DistrhoUIPingPongPan() | DistrhoUIPingPongPan::DistrhoUIPingPongPan() | ||||
| : OpenGLUI() | |||||
| : OpenGLUI(), | |||||
| fAboutWindow(this) | |||||
| { | { | ||||
| Window* win = getParent(); | |||||
| // background | // background | ||||
| fImgBackground = Image(DistrhoArtworkPingPongPan::backgroundData, DistrhoArtworkPingPongPan::backgroundWidth, DistrhoArtworkPingPongPan::backgroundHeight, GL_BGR); | fImgBackground = Image(DistrhoArtworkPingPongPan::backgroundData, DistrhoArtworkPingPongPan::backgroundWidth, DistrhoArtworkPingPongPan::backgroundHeight, GL_BGR); | ||||
| // TODO - about png | |||||
| Image imageAbout(DistrhoArtworkPingPongPan::aboutButtonHoverData, DistrhoArtworkPingPongPan::aboutButtonHoverWidth, DistrhoArtworkPingPongPan::aboutButtonHoverHeight, GL_BGRA); | |||||
| fAboutWindow.setImage(imageAbout); | |||||
| // knobs | // knobs | ||||
| Image knobImage(DistrhoArtworkPingPongPan::knobData, DistrhoArtworkPingPongPan::knobWidth, DistrhoArtworkPingPongPan::knobHeight); | Image knobImage(DistrhoArtworkPingPongPan::knobData, DistrhoArtworkPingPongPan::knobWidth, DistrhoArtworkPingPongPan::knobHeight); | ||||
| // knob Low-Mid | // knob Low-Mid | ||||
| fKnobFreq = new ImageKnob(win, knobImage); | |||||
| fKnobFreq->setPos(136, 30); | |||||
| fKnobFreq = new ImageKnob(this, knobImage); | |||||
| fKnobFreq->setPos(61, 59); | |||||
| fKnobFreq->setRange(0.0f, 100.0f); | fKnobFreq->setRange(0.0f, 100.0f); | ||||
| fKnobFreq->setValue(50.0f); | fKnobFreq->setValue(50.0f); | ||||
| fKnobFreq->setCallback(this); | fKnobFreq->setCallback(this); | ||||
| // knob Mid-High | // knob Mid-High | ||||
| fKnobWidth = new ImageKnob(win, knobImage); | |||||
| fKnobWidth->setPos(258, 30); | |||||
| fKnobWidth = new ImageKnob(this, knobImage); | |||||
| fKnobWidth->setPos(183, 59); | |||||
| fKnobWidth->setRange(0.0f, 100.0f); | fKnobWidth->setRange(0.0f, 100.0f); | ||||
| fKnobWidth->setValue(75.0f); | fKnobWidth->setValue(75.0f); | ||||
| fKnobWidth->setCallback(this); | fKnobWidth->setCallback(this); | ||||
| @@ -50,8 +53,8 @@ DistrhoUIPingPongPan::DistrhoUIPingPongPan() | |||||
| // about button | // about button | ||||
| Image aboutImageNormal(DistrhoArtworkPingPongPan::aboutButtonNormalData, DistrhoArtworkPingPongPan::aboutButtonNormalWidth, DistrhoArtworkPingPongPan::aboutButtonNormalHeight); | Image aboutImageNormal(DistrhoArtworkPingPongPan::aboutButtonNormalData, DistrhoArtworkPingPongPan::aboutButtonNormalWidth, DistrhoArtworkPingPongPan::aboutButtonNormalHeight); | ||||
| Image aboutImageHover(DistrhoArtworkPingPongPan::aboutButtonHoverData, DistrhoArtworkPingPongPan::aboutButtonHoverWidth, DistrhoArtworkPingPongPan::aboutButtonHoverHeight); | Image aboutImageHover(DistrhoArtworkPingPongPan::aboutButtonHoverData, DistrhoArtworkPingPongPan::aboutButtonHoverWidth, DistrhoArtworkPingPongPan::aboutButtonHoverHeight); | ||||
| fButtonAbout = new ImageButton(win, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout->setPos(25, 23); | |||||
| fButtonAbout = new ImageButton(this, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout->setPos(183, 8); | |||||
| fButtonAbout->setCallback(this); | fButtonAbout->setCallback(this); | ||||
| } | } | ||||
| @@ -96,9 +99,7 @@ void DistrhoUIPingPongPan::imageButtonClicked(ImageButton* button, int) | |||||
| if (button != fButtonAbout) | if (button != fButtonAbout) | ||||
| return; | return; | ||||
| Image imageAbout(DistrhoArtworkPingPongPan::aboutData, DistrhoArtworkPingPongPan::aboutWidth, DistrhoArtworkPingPongPan::aboutHeight, GL_BGR); | |||||
| ImageAboutWindow aboutWindow(getApp(), getParent(), imageAbout); | |||||
| aboutWindow.exec(); | |||||
| fAboutWindow.exec(); | |||||
| } | } | ||||
| void DistrhoUIPingPongPan::imageKnobDragStarted(ImageKnob* knob) | void DistrhoUIPingPongPan::imageKnobDragStarted(ImageKnob* knob) | ||||
| @@ -18,6 +18,8 @@ | |||||
| #define __DISTRHO_UI_PINGPONGPAN_HPP__ | #define __DISTRHO_UI_PINGPONGPAN_HPP__ | ||||
| #include "DistrhoUIOpenGL.hpp" | #include "DistrhoUIOpenGL.hpp" | ||||
| #include "dgl/ImageAboutWindow.hpp" | |||||
| #include "dgl/ImageButton.hpp" | #include "dgl/ImageButton.hpp" | ||||
| #include "dgl/ImageKnob.hpp" | #include "dgl/ImageKnob.hpp" | ||||
| @@ -34,19 +36,19 @@ class DistrhoUIPingPongPan : public OpenGLUI, | |||||
| { | { | ||||
| public: | public: | ||||
| DistrhoUIPingPongPan(); | DistrhoUIPingPongPan(); | ||||
| ~DistrhoUIPingPongPan(); | |||||
| ~DistrhoUIPingPongPan() override; | |||||
| protected: | protected: | ||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Information | // Information | ||||
| unsigned int d_width() const | |||||
| unsigned int d_width() const override | |||||
| { | { | ||||
| return DistrhoArtworkPingPongPan::backgroundWidth; | return DistrhoArtworkPingPongPan::backgroundWidth; | ||||
| } | } | ||||
| unsigned int d_height() const | |||||
| unsigned int d_height() const override | |||||
| { | { | ||||
| return DistrhoArtworkPingPongPan::backgroundHeight; | return DistrhoArtworkPingPongPan::backgroundHeight; | ||||
| } | } | ||||
| @@ -54,21 +56,22 @@ protected: | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // DSP Callbacks | // DSP Callbacks | ||||
| void d_parameterChanged(uint32_t index, float value); | |||||
| void d_programChanged(uint32_t index); | |||||
| void d_parameterChanged(uint32_t index, float value) override; | |||||
| void d_programChanged(uint32_t index) override; | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Widget Callbacks | // Widget Callbacks | ||||
| void imageButtonClicked(ImageButton* button, int); | |||||
| void imageKnobDragStarted(ImageKnob* knob); | |||||
| void imageKnobDragFinished(ImageKnob* knob); | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value); | |||||
| void imageButtonClicked(ImageButton* button, int) override; | |||||
| void imageKnobDragStarted(ImageKnob* knob) override; | |||||
| void imageKnobDragFinished(ImageKnob* knob) override; | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value) override; | |||||
| void onDisplay(); | |||||
| void onDisplay() override; | |||||
| private: | private: | ||||
| Image fImgBackground; | Image fImgBackground; | ||||
| ImageAboutWindow fAboutWindow; | |||||
| ImageKnob* fKnobFreq; | ImageKnob* fKnobFreq; | ||||
| ImageKnob* fKnobWidth; | ImageKnob* fKnobWidth; | ||||
| @@ -23,29 +23,32 @@ START_NAMESPACE_DISTRHO | |||||
| // ------------------------------------------------- | // ------------------------------------------------- | ||||
| DistrhoUIStereoEnhancer::DistrhoUIStereoEnhancer() | DistrhoUIStereoEnhancer::DistrhoUIStereoEnhancer() | ||||
| : OpenGLUI() | |||||
| : OpenGLUI(), | |||||
| fAboutWindow(this) | |||||
| { | { | ||||
| Window* win = getParent(); | |||||
| // background | // background | ||||
| fImgBackground = Image(DistrhoArtworkStereoEnhancer::backgroundData, DistrhoArtworkStereoEnhancer::backgroundWidth, DistrhoArtworkStereoEnhancer::backgroundHeight, GL_BGR); | fImgBackground = Image(DistrhoArtworkStereoEnhancer::backgroundData, DistrhoArtworkStereoEnhancer::backgroundWidth, DistrhoArtworkStereoEnhancer::backgroundHeight, GL_BGR); | ||||
| // TODO - about png | |||||
| Image imageAbout(DistrhoArtworkStereoEnhancer::aboutButtonHoverData, DistrhoArtworkStereoEnhancer::aboutButtonHoverWidth, DistrhoArtworkStereoEnhancer::aboutButtonHoverHeight, GL_BGRA); | |||||
| fAboutWindow.setImage(imageAbout); | |||||
| // knobs | // knobs | ||||
| Image knobImage(DistrhoArtworkStereoEnhancer::knobData, DistrhoArtworkStereoEnhancer::knobWidth, DistrhoArtworkStereoEnhancer::knobHeight); | Image knobImage(DistrhoArtworkStereoEnhancer::knobData, DistrhoArtworkStereoEnhancer::knobWidth, DistrhoArtworkStereoEnhancer::knobHeight); | ||||
| fKnobWidthLows = new ImageKnob(win, knobImage); | |||||
| fKnobWidthLows = new ImageKnob(this, knobImage); | |||||
| fKnobWidthLows->setPos(140, 35); | fKnobWidthLows->setPos(140, 35); | ||||
| fKnobWidthLows->setRange(0.0f, 200.0f); | fKnobWidthLows->setRange(0.0f, 200.0f); | ||||
| fKnobWidthLows->setValue(100.0f); | fKnobWidthLows->setValue(100.0f); | ||||
| fKnobWidthLows->setCallback(this); | fKnobWidthLows->setCallback(this); | ||||
| fKnobWidthHighs = new ImageKnob(win, knobImage); | |||||
| fKnobWidthHighs = new ImageKnob(this, knobImage); | |||||
| fKnobWidthHighs->setPos(362, 35); | fKnobWidthHighs->setPos(362, 35); | ||||
| fKnobWidthHighs->setRange(0.0f, 200.0f); | fKnobWidthHighs->setRange(0.0f, 200.0f); | ||||
| fKnobWidthHighs->setValue(100.0f); | fKnobWidthHighs->setValue(100.0f); | ||||
| fKnobWidthHighs->setCallback(this); | fKnobWidthHighs->setCallback(this); | ||||
| fKnobCrossover = new ImageKnob(win, knobImage); | |||||
| fKnobCrossover = new ImageKnob(this, knobImage); | |||||
| fKnobCrossover->setPos(253, 35); | fKnobCrossover->setPos(253, 35); | ||||
| fKnobCrossover->setRange(0.0f, 100.0f); | fKnobCrossover->setRange(0.0f, 100.0f); | ||||
| fKnobCrossover->setValue(27.51604f); | fKnobCrossover->setValue(27.51604f); | ||||
| @@ -54,7 +57,7 @@ DistrhoUIStereoEnhancer::DistrhoUIStereoEnhancer() | |||||
| // about button | // about button | ||||
| Image aboutImageNormal(DistrhoArtworkStereoEnhancer::aboutButtonNormalData, DistrhoArtworkStereoEnhancer::aboutButtonNormalWidth, DistrhoArtworkStereoEnhancer::aboutButtonNormalHeight); | Image aboutImageNormal(DistrhoArtworkStereoEnhancer::aboutButtonNormalData, DistrhoArtworkStereoEnhancer::aboutButtonNormalWidth, DistrhoArtworkStereoEnhancer::aboutButtonNormalHeight); | ||||
| Image aboutImageHover(DistrhoArtworkStereoEnhancer::aboutButtonHoverData, DistrhoArtworkStereoEnhancer::aboutButtonHoverWidth, DistrhoArtworkStereoEnhancer::aboutButtonHoverHeight); | Image aboutImageHover(DistrhoArtworkStereoEnhancer::aboutButtonHoverData, DistrhoArtworkStereoEnhancer::aboutButtonHoverWidth, DistrhoArtworkStereoEnhancer::aboutButtonHoverHeight); | ||||
| fButtonAbout = new ImageButton(win, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout = new ImageButton(this, aboutImageNormal, aboutImageHover, aboutImageHover); | |||||
| fButtonAbout->setPos(346, 3); | fButtonAbout->setPos(346, 3); | ||||
| fButtonAbout->setCallback(this); | fButtonAbout->setCallback(this); | ||||
| } | } | ||||
| @@ -105,10 +108,7 @@ void DistrhoUIStereoEnhancer::imageButtonClicked(ImageButton* button, int) | |||||
| if (button != fButtonAbout) | if (button != fButtonAbout) | ||||
| return; | return; | ||||
| // TODO | |||||
| //Image imageAbout(DistrhoArtworkStereoEnhancer::aboutData, DistrhoArtworkStereoEnhancer::aboutWidth, DistrhoArtworkStereoEnhancer::aboutHeight, GL_BGR); | |||||
| //ImageAboutWindow aboutWindow(getApp(), getParent(), imageAbout); | |||||
| //aboutWindow.exec(); | |||||
| fAboutWindow.exec(); | |||||
| } | } | ||||
| void DistrhoUIStereoEnhancer::imageKnobDragStarted(ImageKnob* knob) | void DistrhoUIStereoEnhancer::imageKnobDragStarted(ImageKnob* knob) | ||||
| @@ -18,6 +18,8 @@ | |||||
| #define __DISTRHO_UI_3BANDEQ_HPP__ | #define __DISTRHO_UI_3BANDEQ_HPP__ | ||||
| #include "DistrhoUIOpenGL.hpp" | #include "DistrhoUIOpenGL.hpp" | ||||
| #include "dgl/ImageAboutWindow.hpp" | |||||
| #include "dgl/ImageButton.hpp" | #include "dgl/ImageButton.hpp" | ||||
| #include "dgl/ImageKnob.hpp" | #include "dgl/ImageKnob.hpp" | ||||
| @@ -34,18 +36,18 @@ class DistrhoUIStereoEnhancer : public OpenGLUI, | |||||
| { | { | ||||
| public: | public: | ||||
| DistrhoUIStereoEnhancer(); | DistrhoUIStereoEnhancer(); | ||||
| ~DistrhoUIStereoEnhancer(); | |||||
| ~DistrhoUIStereoEnhancer() override; | |||||
| protected: | protected: | ||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Information | // Information | ||||
| unsigned int d_width() const | |||||
| unsigned int d_width() const override | |||||
| { | { | ||||
| return DistrhoArtworkStereoEnhancer::backgroundWidth; | return DistrhoArtworkStereoEnhancer::backgroundWidth; | ||||
| } | } | ||||
| unsigned int d_height() const | |||||
| unsigned int d_height() const override | |||||
| { | { | ||||
| return DistrhoArtworkStereoEnhancer::backgroundHeight; | return DistrhoArtworkStereoEnhancer::backgroundHeight; | ||||
| } | } | ||||
| @@ -53,21 +55,22 @@ protected: | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // DSP Callbacks | // DSP Callbacks | ||||
| void d_parameterChanged(uint32_t index, float value); | |||||
| void d_programChanged(uint32_t index); | |||||
| void d_parameterChanged(uint32_t index, float value) override; | |||||
| void d_programChanged(uint32_t index) override; | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Widget Callbacks | // Widget Callbacks | ||||
| void imageButtonClicked(ImageButton* button, int); | |||||
| void imageKnobDragStarted(ImageKnob* knob); | |||||
| void imageKnobDragFinished(ImageKnob* knob); | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value); | |||||
| void imageButtonClicked(ImageButton* button, int) override; | |||||
| void imageKnobDragStarted(ImageKnob* knob) override; | |||||
| void imageKnobDragFinished(ImageKnob* knob) override; | |||||
| void imageKnobValueChanged(ImageKnob* knob, float value) override; | |||||
| void onDisplay(); | |||||
| void onDisplay() override; | |||||
| private: | private: | ||||
| Image fImgBackground; | Image fImgBackground; | ||||
| ImageAboutWindow fAboutWindow; | |||||
| ImageKnob* fKnobWidthLows; | ImageKnob* fKnobWidthLows; | ||||
| ImageKnob* fKnobWidthHighs; | ImageKnob* fKnobWidthHighs; | ||||
| @@ -48,9 +48,9 @@ protected: | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // Information | // Information | ||||
| virtual bool d_resizable() { return false; } | |||||
| virtual uint d_minimumWidth() { return 100; } | |||||
| virtual uint d_minimumHeight() { return 100; } | |||||
| virtual bool d_resizable() const { return false; } | |||||
| virtual uint d_minimumWidth() const { return 100; } | |||||
| virtual uint d_minimumHeight() const { return 100; } | |||||
| // --------------------------------------------- | // --------------------------------------------- | ||||
| // DSP Callbacks | // DSP Callbacks | ||||
| @@ -41,9 +41,9 @@ public: | |||||
| void setImage(const Image& image); | void setImage(const Image& image); | ||||
| protected: | protected: | ||||
| void onDisplay(); | |||||
| bool onMouse(int button, bool press, int x, int y); | |||||
| bool onKeyboard(bool press, uint32_t key); | |||||
| void onDisplay() override; | |||||
| bool onMouse(int button, bool press, int x, int y) override; | |||||
| bool onKeyboard(bool press, uint32_t key) override; | |||||
| private: | private: | ||||
| Image fImgBackground; | Image fImgBackground; | ||||
| @@ -35,15 +35,17 @@ public: | |||||
| }; | }; | ||||
| ImageButton(Window* parent, const Image& image); | ImageButton(Window* parent, const Image& image); | ||||
| ImageButton(Widget* widget, const Image& image); | |||||
| ImageButton(Window* parent, const Image& imageNormal, const Image& imageHover, const Image& imageDown); | ImageButton(Window* parent, const Image& imageNormal, const Image& imageHover, const Image& imageDown); | ||||
| ImageButton(Widget* widget, const Image& imageNormal, const Image& imageHover, const Image& imageDown); | |||||
| ImageButton(const ImageButton& imageButton); | ImageButton(const ImageButton& imageButton); | ||||
| void setCallback(Callback* callback); | void setCallback(Callback* callback); | ||||
| protected: | protected: | ||||
| void onDisplay(); | |||||
| bool onMouse(int button, bool press, int x, int y); | |||||
| bool onMotion(int x, int y); | |||||
| void onDisplay() override; | |||||
| bool onMouse(int button, bool press, int x, int y) override; | |||||
| bool onMotion(int x, int y) override; | |||||
| private: | private: | ||||
| Image fImageNormal; | Image fImageNormal; | ||||
| @@ -42,6 +42,7 @@ public: | |||||
| }; | }; | ||||
| ImageKnob(Window* parent, const Image& image, Orientation orientation = Vertical); | ImageKnob(Window* parent, const Image& image, Orientation orientation = Vertical); | ||||
| ImageKnob(Widget* widget, const Image& image, Orientation orientation = Vertical); | |||||
| ImageKnob(const ImageKnob& imageKnob); | ImageKnob(const ImageKnob& imageKnob); | ||||
| float getValue() const; | float getValue() const; | ||||
| @@ -53,9 +54,9 @@ public: | |||||
| void setCallback(Callback* callback); | void setCallback(Callback* callback); | ||||
| protected: | protected: | ||||
| void onDisplay(); | |||||
| bool onMouse(int button, bool press, int x, int y); | |||||
| bool onMotion(int x, int y); | |||||
| void onDisplay() override; | |||||
| bool onMouse(int button, bool press, int x, int y) override; | |||||
| bool onMotion(int x, int y) override; | |||||
| private: | private: | ||||
| Image fImage; | Image fImage; | ||||
| @@ -37,6 +37,7 @@ public: | |||||
| }; | }; | ||||
| ImageSlider(Window* parent, const Image& image); | ImageSlider(Window* parent, const Image& image); | ||||
| ImageSlider(Widget* widget, const Image& image); | |||||
| ImageSlider(const ImageSlider& imageSlider); | ImageSlider(const ImageSlider& imageSlider); | ||||
| float getValue() const; | float getValue() const; | ||||
| @@ -52,9 +53,9 @@ public: | |||||
| void setCallback(Callback* callback); | void setCallback(Callback* callback); | ||||
| protected: | protected: | ||||
| void onDisplay(); | |||||
| bool onMouse(int button, bool press, int x, int y); | |||||
| bool onMotion(int x, int y); | |||||
| void onDisplay() override; | |||||
| bool onMouse(int button, bool press, int x, int y) override; | |||||
| bool onMotion(int x, int y) override; | |||||
| private: | private: | ||||
| Image fImage; | Image fImage; | ||||
| @@ -22,10 +22,6 @@ OBJS = \ | |||||
| src/Widget.cpp.o \ | src/Widget.cpp.o \ | ||||
| src/Window.cpp.o | src/Window.cpp.o | ||||
| ifeq ($(MACOS),true) | |||||
| OBJS += src/pugl/pugl_osx.m.o | |||||
| endif | |||||
| OBJS_posix32 = \ | OBJS_posix32 = \ | ||||
| src/App.cpp.posix32.o \ | src/App.cpp.posix32.o \ | ||||
| src/Image.cpp.posix32.o \ | src/Image.cpp.posix32.o \ | ||||
| @@ -70,6 +66,12 @@ OBJS_win64 = \ | |||||
| src/Widget.cpp.win64.o \ | src/Widget.cpp.win64.o \ | ||||
| src/Window.cpp.win64.o | src/Window.cpp.win64.o | ||||
| ifeq ($(MACOS),true) | |||||
| OBJS += src/pugl/pugl_osx_extended.m.o | |||||
| OBJS_posix32 += src/pugl/pugl_osx_extended.m.posix32.o | |||||
| OBJS_posix64 += src/pugl/pugl_osx_extended.m.posix64.o | |||||
| endif | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| all: ../../dgl.a | all: ../../dgl.a | ||||
| @@ -100,10 +102,10 @@ win64: ../../dgl.win64.a | |||||
| $(CXX) $^ -shared $(LINK_FLAGS) -lopengl32 -lgdi32 -o $@ | $(CXX) $^ -shared $(LINK_FLAGS) -lopengl32 -lgdi32 -o $@ | ||||
| ../../dgl.dylib: $(OBJS) | ../../dgl.dylib: $(OBJS) | ||||
| $(CXX) $^ -shared $(LINK_FLAGS) -framework Cocoa -framework OpenGL -o $@ | |||||
| $(CXX) $^ -shared $(LINK_FLAGS) -framework OpenGL -framework Cocoa -o $@ | |||||
| ../../dgl.so: $(OBJS) | ../../dgl.so: $(OBJS) | ||||
| $(CXX) $^ -shared $(LINK_FLAGS) -lX11 -lGL -lGLU -o $@ | |||||
| $(CXX) $^ -shared $(LINK_FLAGS) -lGL -lX11 -o $@ | |||||
| # -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
| @@ -33,6 +33,17 @@ ImageButton::ImageButton(Window* parent, const Image& image) | |||||
| { | { | ||||
| } | } | ||||
| ImageButton::ImageButton(Widget* widget, const Image& image) | |||||
| : Widget(widget->getParent()), | |||||
| fImageNormal(image), | |||||
| fImageHover(image), | |||||
| fImageDown(image), | |||||
| fCurImage(&fImageNormal), | |||||
| fCurButton(-1), | |||||
| fCallback(nullptr) | |||||
| { | |||||
| } | |||||
| ImageButton::ImageButton(Window* parent, const Image& imageNormal, const Image& imageHover, const Image& imageDown) | ImageButton::ImageButton(Window* parent, const Image& imageNormal, const Image& imageHover, const Image& imageDown) | ||||
| : Widget(parent), | : Widget(parent), | ||||
| fImageNormal(imageNormal), | fImageNormal(imageNormal), | ||||
| @@ -47,6 +58,20 @@ ImageButton::ImageButton(Window* parent, const Image& imageNormal, const Image& | |||||
| setSize(fCurImage->getSize()); | setSize(fCurImage->getSize()); | ||||
| } | } | ||||
| ImageButton::ImageButton(Widget* widget, const Image& imageNormal, const Image& imageHover, const Image& imageDown) | |||||
| : Widget(widget->getParent()), | |||||
| fImageNormal(imageNormal), | |||||
| fImageHover(imageHover), | |||||
| fImageDown(imageDown), | |||||
| fCurImage(&fImageNormal), | |||||
| fCurButton(-1), | |||||
| fCallback(nullptr) | |||||
| { | |||||
| assert(fImageNormal.getSize() == fImageHover.getSize() && fImageHover.getSize() == fImageDown.getSize()); | |||||
| setSize(fCurImage->getSize()); | |||||
| } | |||||
| ImageButton::ImageButton(const ImageButton& imageButton) | ImageButton::ImageButton(const ImageButton& imageButton) | ||||
| : Widget(imageButton.getParent()), | : Widget(imageButton.getParent()), | ||||
| fImageNormal(imageButton.fImageNormal), | fImageNormal(imageButton.fImageNormal), | ||||
| @@ -39,6 +39,25 @@ ImageKnob::ImageKnob(Window* parent, const Image& image, Orientation orientation | |||||
| setSize(fImgLayerSize, fImgLayerSize); | setSize(fImgLayerSize, fImgLayerSize); | ||||
| } | } | ||||
| ImageKnob::ImageKnob(Widget* widget, const Image& image, Orientation orientation) | |||||
| : Widget(widget->getParent()), | |||||
| fImage(image), | |||||
| fMinimum(0.0f), | |||||
| fMaximum(1.0f), | |||||
| fValue(0.5f), | |||||
| fOrientation(orientation), | |||||
| fDragging(false), | |||||
| fLastX(0), | |||||
| fLastY(0), | |||||
| fCallback(nullptr), | |||||
| fIsImgVertical(image.getHeight() > image.getWidth()), | |||||
| fImgLayerSize(fIsImgVertical ? image.getWidth() : image.getHeight()), | |||||
| fImgLayerCount(fIsImgVertical ? image.getHeight()/fImgLayerSize : image.getWidth()/fImgLayerSize), | |||||
| fKnobArea(0, 0, fImgLayerSize, fImgLayerSize) | |||||
| { | |||||
| setSize(fImgLayerSize, fImgLayerSize); | |||||
| } | |||||
| ImageKnob::ImageKnob(const ImageKnob& imageKnob) | ImageKnob::ImageKnob(const ImageKnob& imageKnob) | ||||
| : Widget(imageKnob.getParent()), | : Widget(imageKnob.getParent()), | ||||
| fImage(imageKnob.fImage), | fImage(imageKnob.fImage), | ||||
| @@ -34,6 +34,20 @@ ImageSlider::ImageSlider(Window* parent, const Image& image) | |||||
| setSize(fImage.getSize()); | setSize(fImage.getSize()); | ||||
| } | } | ||||
| ImageSlider::ImageSlider(Widget* widget, const Image& image) | |||||
| : Widget(widget->getParent()), | |||||
| fImage(image), | |||||
| fMinimum(0.0f), | |||||
| fMaximum(1.0f), | |||||
| fValue(0.5f), | |||||
| fDragging(false), | |||||
| fStartedX(0), | |||||
| fStartedY(0), | |||||
| fCallback(nullptr) | |||||
| { | |||||
| setSize(fImage.getSize()); | |||||
| } | |||||
| ImageSlider::ImageSlider(const ImageSlider& imageSlider) | ImageSlider::ImageSlider(const ImageSlider& imageSlider) | ||||
| : Widget(imageSlider.getParent()), | : Widget(imageSlider.getParent()), | ||||
| fImage(imageSlider.fImage), | fImage(imageSlider.fImage), | ||||
| @@ -24,7 +24,9 @@ | |||||
| #if DGL_OS_WINDOWS | #if DGL_OS_WINDOWS | ||||
| # include "pugl/pugl_win.cpp" | # include "pugl/pugl_win.cpp" | ||||
| #elif DGL_OS_MAC | #elif DGL_OS_MAC | ||||
| // compiled separately | |||||
| extern "C" { | |||||
| # include "pugl/pugl_osx_extended.h" | |||||
| } | |||||
| #elif DGL_OS_LINUX | #elif DGL_OS_LINUX | ||||
| extern "C" { | extern "C" { | ||||
| # include "pugl/pugl_x11.c" | # include "pugl/pugl_x11.c" | ||||
| @@ -191,6 +193,8 @@ public: | |||||
| SetForegroundWindow(hwnd); | SetForegroundWindow(hwnd); | ||||
| SetActiveWindow(hwnd); | SetActiveWindow(hwnd); | ||||
| SetFocus(hwnd); | SetFocus(hwnd); | ||||
| #elif DGL_OS_MAC | |||||
| puglImplFocus(kView); | |||||
| #elif DGL_OS_LINUX | #elif DGL_OS_LINUX | ||||
| XRaiseWindow(xDisplay, xWindow); | XRaiseWindow(xDisplay, xWindow); | ||||
| XSetInputFocus(xDisplay, xWindow, RevertToPointerRoot, CurrentTime); | XSetInputFocus(xDisplay, xWindow, RevertToPointerRoot, CurrentTime); | ||||
| @@ -261,6 +265,8 @@ public: | |||||
| } | } | ||||
| UpdateWindow(hwnd); | UpdateWindow(hwnd); | ||||
| #elif DGL_OS_MAC | |||||
| puglImplSetVisible(kView, yesNo); | |||||
| #elif DGL_OS_LINUX | #elif DGL_OS_LINUX | ||||
| if (yesNo) | if (yesNo) | ||||
| XMapRaised(xDisplay, xWindow); | XMapRaised(xDisplay, xWindow); | ||||
| @@ -297,6 +303,8 @@ public: | |||||
| SetWindowPos(hwnd, 0, 0, 0, wr.right-wr.left, wr.bottom-wr.top, SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOOWNERZORDER|SWP_NOZORDER); | SetWindowPos(hwnd, 0, 0, 0, wr.right-wr.left, wr.bottom-wr.top, SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOOWNERZORDER|SWP_NOZORDER); | ||||
| UpdateWindow(hwnd); | UpdateWindow(hwnd); | ||||
| #elif DGL_OS_MAC | |||||
| puglImplSetSize(kView, width, height); | |||||
| #elif DGL_OS_LINUX | #elif DGL_OS_LINUX | ||||
| // TODO - handle fResizable | // TODO - handle fResizable | ||||
| XSizeHints sizeHints; | XSizeHints sizeHints; | ||||
| @@ -318,6 +326,8 @@ public: | |||||
| { | { | ||||
| #if DGL_OS_WINDOWS | #if DGL_OS_WINDOWS | ||||
| SetWindowTextA(hwnd, title); | SetWindowTextA(hwnd, title); | ||||
| #elif DGL_OS_MAC | |||||
| puglImplSetTitle(kView, title); | |||||
| #elif DGL_OS_LINUX | #elif DGL_OS_LINUX | ||||
| XStoreName(xDisplay, xWindow, title); | XStoreName(xDisplay, xWindow, title); | ||||
| XFlush(xDisplay); | XFlush(xDisplay); | ||||
| @@ -0,0 +1,29 @@ | |||||
| /* | |||||
| Copyright 2012 David Robillard <http://drobilla.net> | |||||
| Copyright 2013 Fil... | |||||
| 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. | |||||
| THIS 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. | |||||
| */ | |||||
| /** | |||||
| @file pugl_osx_extended.h Extended OSX/Cocoa Pugl Implementation. | |||||
| */ | |||||
| #include <stdbool.h> | |||||
| #include "pugl.h" | |||||
| void puglImplFocus(PuglView* view); | |||||
| void puglImplSetSize(PuglView* view, unsigned int width, unsigned int height); | |||||
| void puglImplSetTitle(PuglView* view, const char* title); | |||||
| void puglImplSetVisible(PuglView* view, bool yesNo); | |||||
| @@ -0,0 +1,65 @@ | |||||
| /* | |||||
| Copyright 2012 David Robillard <http://drobilla.net> | |||||
| Copyright 2013 Fil... | |||||
| 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. | |||||
| THIS 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. | |||||
| */ | |||||
| /** | |||||
| @file pugl_osx_extended.m Extended OSX/Cocoa Pugl Implementation. | |||||
| */ | |||||
| #import "pugl_osx.m" | |||||
| #include "pugl_osx_extended.h" | |||||
| void puglImplFocus(PuglView* view) | |||||
| { | |||||
| // TODO | |||||
| } | |||||
| void puglImplSetSize(PuglView* view, unsigned int width, unsigned int height) | |||||
| { | |||||
| id window = view->impl->window; | |||||
| // TODO | |||||
| // NSRect frame = [window frame]; | |||||
| // frame.size.width = width; | |||||
| // frame.size.height = height; | |||||
| // display:NO ? | |||||
| // [window setFrame:frame display:YES animate:NO]; | |||||
| } | |||||
| void puglImplSetTitle(PuglView* view, const char* title) | |||||
| { | |||||
| id window = view->impl->window; | |||||
| NSString* titleString = [[NSString alloc] | |||||
| initWithBytes:title | |||||
| length:strlen(title) | |||||
| encoding:NSUTF8StringEncoding]; | |||||
| [window setTitle:titleString]; | |||||
| } | |||||
| void puglImplSetVisible(PuglView* view, bool yesNo) | |||||
| { | |||||
| id window = view->impl->window; | |||||
| if (yesNo) { | |||||
| [window setIsVisible:YES]; | |||||
| } else { | |||||
| [window setIsVisible:NO]; | |||||
| } | |||||
| } | |||||