/ CoreGraphics / include / CoreGraphics / CGSSurface.h
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