yum-mirror/VkFFT
git clone https://git.yummers.dev/yum-mirror/VkFFT
ba7001c
master
1//------------------------------------------------------------------------------------------------------------------------------------------------------------- 2// 3// QuartzCore/CAMetalDrawable.hpp 4// 5// Copyright 2020-2021 Apple Inc. 6// 7// Licensed under the Apache License, Version 2.0 (the "License"); 8// you may not use this file except in compliance with the License. 9// You may obtain a copy of the License at 10// 11// http://www.apache.org/licenses/LICENSE-2.0 12// 13// Unless required by applicable law or agreed to in writing, software 14// distributed under the License is distributed on an "AS IS" BASIS, 15// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16// See the License for the specific language governing permissions and 17// limitations under the License. 18// 19//------------------------------------------------------------------------------------------------------------------------------------------------------------- 20 21#pragma once 22 23//------------------------------------------------------------------------------------------------------------------------------------------------------------- 24 25#include "../Metal/MTLDrawable.hpp" 26#include "../Metal/MTLTexture.hpp" 27 28#include "CADefines.hpp" 29#include "CAPrivate.hpp" 30 31//------------------------------------------------------------------------------------------------------------------------------------------------------------- 32 33namespace CA 34{ 35class MetalDrawable :public NS ::Referencing < MetalDrawable ,MTL ::Drawable > 36{ 37public : 38class MetalLayer * layer ()const ; 39MTL ::Texture * texture ()const ; 40}; 41} 42 43//------------------------------------------------------------------------------------------------------------------------------------------------------------- 44 45_CA_INLINE CA ::MetalLayer * CA ::MetalDrawable ::layer ()const 46{ 47return Object ::sendMessage < MetalLayer *> (this ,_MTL_PRIVATE_SEL (layer )); 48} 49 50//------------------------------------------------------------------------------------------------------------------------------------------------------------- 51 52_CA_INLINE MTL ::Texture * CA ::MetalDrawable ::texture ()const 53{ 54return Object ::sendMessage < MTL ::Texture *> (this ,_MTL_PRIVATE_SEL (texture )); 55} 56 57//-------------------------------------------------------------------------------------------------------------------------------------------------------------