CGSSurface.h
1 /* 2 This file is part of Darling. 3 4 Copyright (C) 2020 Lubos Dolezel 5 6 Darling is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation, either version 3 of the License, or 9 (at your option) any later version. 10 11 Darling is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with Darling. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 #ifndef CGSSURFACE_H 20 #define CGSSURFACE_H 21 #include <CoreGraphics/CoreGraphicsPrivate.h> 22 #import <Foundation/NSObject.h> 23 24 @class CGSWindow; 25 26 @interface CGSSurface : NSObject { 27 CGSWindow *_window; 28 CGSSurfaceID _surfaceId; 29 } 30 - (instancetype) initWithWindow: (CGSWindow *) window 31 surfaceID: (CGSSurfaceID) surfaceID; 32 - (CGError) setBounds: (CGRect) rect; 33 34 // Used by CGL as EGLNativeWindowType for CGLSetSurface() 35 - (void *) nativeWindow; 36 - (void) invalidate; 37 38 @property(readonly) CGSSurfaceID surfaceId; 39 40 @end 41 42 #endif