20#include "CarlaMathUtils.hpp"
22#if defined(CARLA_OS_MAC) && !defined(CARLA_PLUGIN_BUILD)
23# import <Cocoa/Cocoa.h>
28# include <X11/Xresource.h>
38 if (
const char*
const scale =
getenv(
"DPF_SCALE_FACTOR"))
39 return std::max(1.0, std::atof(scale));
41 if (
const char*
const scale =
getenv(
"QT_SCALE_FACTOR"))
42 return std::max(1.0, std::atof(scale));
44#if defined(CARLA_OS_MAC) && !defined(CARLA_PLUGIN_BUILD)
45 return [NSScreen mainScreen].backingScaleFactor;
48 if (::Display*
const display = XOpenDisplay(
nullptr))
52 if (
char*
const rms = XResourceManagerString(display))
54 if (
const XrmDatabase sdb = XrmGetStringDatabase(rms))
59 if (XrmGetResource(sdb,
"Xft.dpi",
"String", &
type, &ret)
60 && ret.addr !=
nullptr
62 && std::strncmp(
"String",
type, 6) == 0)
64 const double dpi = std::atof(ret.addr);
65 if (carla_isNotZero(dpi))
69 XrmDestroyDatabase(sdb);
73 XCloseDisplay(display);
86#if defined(CARLA_OS_MAC) && !defined(CARLA_PLUGIN_BUILD)
87 NSView*
const nsView = (NSView*)nsViewPtr;
88 return [[nsView window] windowNumber];
99#if defined(CARLA_OS_MAC) && !defined(CARLA_PLUGIN_BUILD)
100 NSView*
const nsViewChild = (NSView*)nsViewChildPtr;
101 NSView*
const nsViewParent = (NSView*)nsViewParentPtr;
102 [[nsViewParent window] addChildWindow:[nsViewChild window]
103 ordered:NSWindowAbove];
113 if (::Display*
const disp = XOpenDisplay(
nullptr))
115 XReparentWindow(disp, winId1, winId2, 0, 0);
127 if (::Display*
const disp = XOpenDisplay(
nullptr))
129 XMoveWindow(disp, winId,
x,
y);
150 else if (::Display*
const disp = XOpenDisplay(
nullptr))
154 XWindowAttributes xwa;
155 XTranslateCoordinates(disp, winId, XRootWindow(disp, 0), 0, 0, &
x, &
y, &child);
156 XGetWindowAttributes(disp, winId, &xwa);
#define CARLA_BACKEND_NAMESPACE
Definition CarlaBackend.h:32
#define CARLA_SAFE_ASSERT_RETURN(cond, ret)
Definition CarlaDefines.h:190
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
int * carla_x11_get_window_pos(uintptr_t winId)
Definition Windows.cpp:138
void carla_cocoa_set_transient_window_for(void *nsViewChildPtr, void *nsViewParentPtr)
Definition Windows.cpp:94
void carla_x11_move_window(uintptr_t winId, int x, int y)
Definition Windows.cpp:122
double carla_get_desktop_scale_factor()
Definition Windows.cpp:35
void carla_x11_reparent_window(uintptr_t winId1, uintptr_t winId2)
Definition Windows.cpp:107
int carla_cocoa_get_window(void *nsViewPtr)
Definition Windows.cpp:82
CARLA_PLUGIN_EXPORT int XMapWindow(Display *display, Window window)
Definition interposer-x11.cpp:103
#define void
Definition unzip.h:396