ca_darwin.h (1692B)
1 // Copyright 2018 The Ebiten Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #include <stdint.h> 16 17 typedef unsigned long uint_t; 18 19 void *MakeMetalLayer(); 20 21 uint16_t MetalLayer_PixelFormat(void *metalLayer); 22 void MetalLayer_SetDevice(void *metalLayer, void *device); 23 void MetalLayer_SetOpaque(void *metalLayer, unsigned char opaque); 24 const char *MetalLayer_SetPixelFormat(void *metalLayer, uint16_t pixelFormat); 25 const char *MetalLayer_SetMaximumDrawableCount(void *metalLayer, 26 uint_t maximumDrawableCount); 27 void MetalLayer_SetDisplaySyncEnabled(void *metalLayer, 28 uint8_t displaySyncEnabled); 29 void MetalLayer_SetDrawableSize(void *metalLayer, double width, double height); 30 void MetalLayer_SetPresentsWithTransaction(void *metalLayer, 31 uint8_t presentsWithTransaction); 32 void *MetalLayer_NextDrawable(void *metalLayer); 33 void MetalLayer_SetFramebufferOnly(void *metalLayer, uint8_t framebufferOnly); 34 uint8_t MetalLayer_PresentsWithTransaction(void *metalLayer); 35 36 void *MetalDrawable_Texture(void *drawable); 37 void MetalDrawable_Present(void *drawable);