Firemonkey предоставляет уровень абстракции.
Таким образом, в Windows вы используете DirectX, а в OSX и iOS - OpenGL / Quartz.В окнах также возможно, что вещи вернутся к GDI +
. Учитывая это, необходимо учитывать, что целью рендеринга не всегда может быть OpenGL, и он не всегда может быть одинаковым даже на одной и той же платформе.
TCanvas
в части этого уровня абстракции.
Существует 3 текущих реализации TCanvas
, ваше приложение может использовать любую из них.
FMX.Canvas.D2D.pas
- Direct2d FMX.Canvas.GDIP.pas
- GDI + FMX.Canvas.Mac.pas
- Mac
Детали реализации платформы, как правило, скрыты в частных разделах и недоступны.
У вас также есть TPlatform
в FMX.Platform.pas
, который скрывает детали реализации и публикует единый API (ограниченный по объему), предназначенный для работы на всех платформах.
Если вы используете FMX.Platform.Win.pas
вы можете получить дескриптор окна для данного TFmxHandle
Если вы используете FMX.Platform.Mac.pas
, вы можете получить IObjectiveC
для данного TFmxHandle
Однако на IOS естьнет эквивалентной функции в FMX_Platform_iOS.pas