ASPiK SDK
iplatformwindow.h
1 // This file is part of VSTGUI. It is subject to the license terms
2 // in the LICENSE file found in the top-level directory of this
3 // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
4 
5 #pragma once
6 
7 #include "../../../lib/platform/iplatformframe.h"
8 #include "../../include/icommand.h"
9 #include "../../include/iwindow.h"
10 
11 //------------------------------------------------------------------------
12 namespace VSTGUI {
13 namespace Standalone {
14 namespace Platform {
15 
16 //------------------------------------------------------------------------
18 {
19 public:
20  virtual CPoint constraintSize (const CPoint& newSize) = 0;
21  virtual void onSizeChanged (const CPoint& newSize) = 0;
22  virtual void onPositionChanged (const CPoint& newPosition) = 0;
23  virtual void onShow () = 0;
24  virtual void onHide () = 0;
25  virtual void onClosed () = 0;
26  virtual bool canClose () = 0;
27  virtual void onActivated () = 0;
28  virtual void onDeactivated () = 0;
29 };
30 
31 //------------------------------------------------------------------------
32 class IWindow : public Interface
33 {
34 public:
35  virtual CPoint getSize () const = 0;
36  virtual CPoint getPosition () const = 0;
37  virtual double getScaleFactor () const = 0;
38 
39  virtual void setSize (const CPoint& newSize) = 0;
40  virtual void setPosition (const CPoint& newPosition) = 0;
41  virtual void setTitle (const UTF8String& newTitle) = 0;
42 
43  virtual void show () = 0;
44  virtual void hide () = 0;
45  virtual void close () = 0;
46  virtual void activate () = 0;
47  virtual void center () = 0;
48 
49  virtual PlatformType getPlatformType () const = 0;
50  virtual void* getPlatformHandle () const = 0;
51 
52  virtual void onSetContentView (CFrame* frame) = 0;
53 };
54 
55 //------------------------------------------------------------------------
56 using WindowPtr = std::shared_ptr<IWindow>;
57 
58 //------------------------------------------------------------------------
59 WindowPtr makeWindow (const WindowConfiguration& config, IWindowDelegate& delegate);
60 
61 //------------------------------------------------------------------------
62 } // Platform
63 } // Standalone
64 } // VSTGUI
Definition: icommand.h:47
std::unique_ptr< double[]> makeWindow(unsigned int windowLength, unsigned int hopSize, windowType window, double &gainCorrectionValue)
creates a new std::unique_ptr<double[]> array for a given window lenght and type. ...
Definition: fxobjects.h:8648
Definition: interface.h:13
Definition: iplatformwindow.h:32
Definition: customcontrols.cpp:8
holds an UTF8 encoded string and a platform representation of it
Definition: cstring.h:56
Point structure.
Definition: cpoint.h:17
Definition: iplatformwindow.h:17
The CFrame is the parent container of all views.
Definition: cframe.h:32