DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

TopLevelWidgetPrivateData.hpp (1827B)


      1 /*
      2  * DISTRHO Plugin Framework (DPF)
      3  * Copyright (C) 2012-2021 Filipe Coelho <falktx@falktx.com>
      4  *
      5  * Permission to use, copy, modify, and/or distribute this software for any purpose with
      6  * or without fee is hereby granted, provided that the above copyright notice and this
      7  * permission notice appear in all copies.
      8  *
      9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
     10  * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
     11  * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
     12  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
     13  * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
     14  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     15  */
     16 
     17 #ifndef DGL_TOP_LEVEL_WIDGET_PRIVATE_DATA_HPP_INCLUDED
     18 #define DGL_TOP_LEVEL_WIDGET_PRIVATE_DATA_HPP_INCLUDED
     19 
     20 #include "../TopLevelWidget.hpp"
     21 
     22 #include <list>
     23 
     24 START_NAMESPACE_DGL
     25 
     26 // -----------------------------------------------------------------------
     27 
     28 struct TopLevelWidget::PrivateData {
     29     TopLevelWidget* const self;
     30     Widget* const selfw;
     31     Window& window;
     32 
     33     explicit PrivateData(TopLevelWidget* self, Window& window);
     34     ~PrivateData();
     35     void display();
     36     bool keyboardEvent(const KeyboardEvent& ev);
     37     bool characterInputEvent(const CharacterInputEvent& ev);
     38     bool mouseEvent(const MouseEvent& ev);
     39     bool motionEvent(const MotionEvent& ev);
     40     bool scrollEvent(const ScrollEvent& ev);
     41     void fallbackOnResize(uint width, uint height);
     42 
     43     DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(PrivateData)
     44 };
     45 
     46 // -----------------------------------------------------------------------
     47 
     48 END_NAMESPACE_DGL
     49 
     50 #endif // DGL_TOP_LEVEL_WIDGET_PRIVATE_DATA_HPP_INCLUDED