1 /** 2 * Definition of IGraphics, which controls the UI from the host point of view. 3 * 4 * Copyright: Copyright Auburn Sounds 2015 and later. 5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 6 * Authors: Guillaume Piolat 7 */ 8 module dplug.client.graphics; 9 10 import dplug.client.client; 11 import dplug.client.daw; 12 13 enum GraphicsBackend 14 { 15 autodetect, 16 win32, 17 carbon, 18 cocoa, 19 x11 20 } 21 22 /// Plugin GUI 23 interface IGraphics 24 { 25 nothrow: 26 @nogc: 27 /// Create an UI, return a system-specific handle for the window/view 28 abstract void* openUI(void* parentInfo, void* controlInfo, DAW daw, GraphicsBackend backend); 29 abstract void closeUI(); 30 abstract void getGUISize(int* width, int* height); 31 } 32