This is new wiki software and old wiki content. It's a work in progress!
Here's the explanation.
Be gentle, report bugs, leave feedback on pages, or just edit them yourself! Thanks!

SDL Wiki

SDL_Vulkan_GetDrawableSize

Get the size of the window's underlying drawable dimensions in pixels.

Syntax

void SDL_Vulkan_GetDrawableSize(SDL_Window * window,
                                int *w, int *h);

Function Parameters

window

an SDL_Window for which the size is to be queried

w

Pointer to the variable to write the width to or NULL

h

Pointer to the variable to write the height to or NULL

Remarks

This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with high-DPI support (Apple calls this "Retina"), and not disabled by the SDL_HINT_VIDEO_HIGHDPI_DISABLED hint.

Version

This function is available in SDL 2.0.8

Code Examples

// may instead choose to use std::clamp() in C++17
#define CLAMP(x, lo, hi)    ((x) < (lo) ? (lo) : (x) > (hi) ? (hi) : (x))

SDL_Window *window;
VkSurfaceKHR surface;
VkPhysicalDevice physicalDevice;

// window = SDL_CreateWindow(...);
if (!SDL_Vulkan_CreateSurface(window, instance, &surface)) {
    // handle error
}
// physicalDevice = ...;

// ...

// Create Swapchain

VkSurfaceCapabilitiesKHR capabilities;
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, &capabilities);

int width;
int height;
SDL_Vulkan_GetDrawableSize(window, &width, &height);

width = CLAMP(width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width);
height = CLAMP(height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height);

// ...

// vkCreateSwapchainKHR(...);
SDL_GetWindowSize
SDL_CreateWindow
SDL_Vulkan_CreateSurface

CategoryAPI, CategoryVulkan


[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.