Fact-checked by Grok 2 weeks ago

FireMonkey

FireMonkey (FMX) is a GPU-accelerated, cross-platform (GUI) framework developed by as part of RAD Studio, enabling the creation of high-performance, visually engaging native applications using or . It provides a unified codebase for targeting multiple platforms, including Windows, macOS, , , and , without requiring separate projects for each. Introduced in 2011, FireMonkey serves as an alternative to the VCL () for non-Windows development, focusing on modern, device-optimized apps that leverage for graphics, animations, and styling. At its core, FireMonkey employs a cross-platform to handle operating system features such as windows, menus, timers, and dialog boxes, while utilizing a vector-based engine for 2D and . Key components include a designer for visual layout, support for image formats like , , , and , and built-in primitives such as shapes, brushes, pens, geometries, transforms, and bitmap effects (e.g., drop shadows and blurring). The framework's advanced and engines allow for customizable, responsive interfaces, with animations processed in a background to ensure smooth performance across devices. Additionally, it supports for multi-language applications and integrates seamlessly with databases, web services, cloud platforms, and mobile peripherals, enhancing connectivity and security through native code compilation. FireMonkey's design emphasizes script-free with full access to device capabilities, making it suitable for , mobile, and desktop applications that require high responsiveness and visual fidelity. Unlike traditional , it uses CPU and GPU resources efficiently to deliver true native performance, reducing vulnerabilities associated with interpreted languages or third-party dependencies. Over time, it has evolved to support emerging platforms like via FMXLinux, extending its reach for and use cases. This powers a wide range of applications, from offline-capable mobile clients to cross-platform tools, underscoring its role in modern multi-device .

Overview

Purpose and Capabilities

FireMonkey (FMX) is a GPU-accelerated, vector-based (GUI) framework developed by for creating high-performance, visually rich applications across multiple platforms. It enables developers to build true native applications that leverage hardware capabilities for responsive and engaging user experiences on desktops, tablets, and mobile devices. The framework's core capabilities include support for advanced and graphics, smooth animations, and multi-resolution assets, all rendered through to ensure scalability and high-definition () DPI compatibility. Its engine provides resolution-independent, anti-aliased visuals with features like alpha blending, gradients, and transforms, allowing for rendering with minimal CPU overhead. Animations run on background threads with automatic adjustments, optimizing performance without compromising visual quality. As of RAD Studio 13 Florence (released September 2025), FireMonkey includes enhancements such as a new Display Link Service for more stable animations and improved performance in operations. FireMonkey emphasizes a single codebase approach to reduce development time while delivering native performance on supported platforms, including Windows, macOS, , , and . A key innovation is its use of hybrid controls, which automatically adapt appearance and behavior to platform-specific conventions without requiring code modifications, enabling seamless cross-platform deployment. This design facilitates script-free development that fully exposes device hardware, outperforming alternatives reliant on virtual machines or dynamic languages in terms of speed and resource efficiency.

Supported Languages and Tools

FireMonkey applications are primarily developed using via the Delphi environment and C++ through , both of which provide object-oriented, component-based programming paradigms optimized for . Since 2021, integration has been available through the open-source Python4Delphi and the dedicated DelphiFMX , allowing scripts to leverage FireMonkey's cross-platform capabilities for building native applications on Windows, macOS, , and . This support facilitates scripting, prototyping, and extension of FireMonkey apps without necessitating expertise in or C++, thereby broadening accessibility for developers from diverse language backgrounds. Delphi and C++Builder FireMonkey applications are developed within Embarcadero's RAD Studio (), which integrates these tools into a unified workspace, while Python applications use Python development environments with the DelphiFMX module. RAD Studio features visual designers for creating and editing forms, dragging and dropping components onto scenes, and customizing styles, enabling a what-you-see-is-what-you-get () approach to construction. The IDE also includes the Bitmap Style Designer for editing FireMonkey style files (.style), which define visual appearances across platforms. The FireMonkey tool ecosystem encompasses a suite of platform-agnostic libraries, including FMX.StdCtrls for standard controls such as buttons, labels, and edit boxes, and FMX.Graphics for handling operations, text rendering, and drawing. These libraries form the foundation for building interactive applications, with additional units like FMX.Types for core types and FMX.Controls for base control behaviors. FireMonkey further supports integration with third-party extensions and component libraries, such as FMXUI for advanced responsive UI elements and Kastri for Android-specific enhancements, allowing developers to extend functionality beyond the core framework.

History

Origins and Acquisition

FireMonkey traces its origins to VGScene, a 3D graphics library developed by Eugene Kryukov of KSDev for the Delphi environment starting in the late 2000s. VGScene was designed as a vector-based framework leveraging GPU acceleration through and , enabling rich visual effects and hardware-accelerated rendering that surpassed the capabilities of Delphi's existing (VCL). The VCL, while effective for traditional Windows applications, relied on pixel-based GDI rendering, which limited its support for high-resolution displays, smooth animations, and modern GPU-driven user interfaces. In early 2011, Embarcadero Technologies acquired KSDev's intellectual property, including VGScene and related libraries like DXScene, with the goal of integrating and expanding it into a comprehensive cross-platform GUI framework. Following the acquisition, Kryukov joined Embarcadero to lead the rebranding and development, transforming VGScene into FireMonkey and enhancing it for multi-platform support beyond Windows. This acquisition addressed the growing demand for Delphi developers to build visually advanced applications compatible with emerging operating systems like macOS and mobile platforms. FireMonkey was subsequently introduced in RAD Studio XE2 later that year. Eugene Kryukov, recognized as the "Father of FireMonkey," made foundational contributions to and scene management in ecosystems before his passing in 2024. His work on VGScene laid the groundwork for FireMonkey's emphasis on scalable, hardware-accelerated visuals, influencing cross-platform development tools long after the acquisition.

Key Releases and Evolutions

FireMonkey debuted in September 2011 as part of RAD Studio XE2, introducing a cross-platform GUI framework initially supporting Windows (32-bit and 64-bit), macOS, and iOS for native application development. Android support was added in RAD Studio XE5 in 2013. Subsequent releases from 2012 to 2015 focused on enhancing usability and mobile capabilities. RAD Studio XE3, released in 2012, introduced actions and action lists to FireMonkey, enabling reusable event-handling logic similar to VCL, along with anchors for dynamic control positioning and layouts like FlowLayout and GridLayout to improve form responsiveness. In RAD Studio XE6 (2014), mobile development saw advancements in gesture recognition, including interactive multi-touch support for pan, zoom, rotate, tap, and double-tap, integrated via the TGestureManager component to facilitate natural user interactions on touch-enabled devices. RAD Studio XE8 (2015) built on this with multi-view applications, leveraging the TMultiView component—first previewed in XE7—for responsive master-detail interfaces that adapt to different screen sizes and orientations across platforms. A significant milestone occurred in 2021 with the integration of , allowing scripting directly within FireMonkey applications through the delphifmx module, which provides native access to FMX components for cross-platform development on Windows, macOS, , and . Recent developments through 2025 have emphasized performance and platform expansion. In 2023, Studio 12 Athens incorporated the Skia graphics library as the default 2D rendering engine for FireMonkey, delivering improved rendering speed, cross-platform consistency, and support for advanced features like on compatible hardware, which enhances graphical performance and reduces energy consumption on mobile devices. support has evolved progressively, with third-party FMXLinux providing capabilities since earlier versions, but Studio 12 introduced increasing native integration, culminating in the FMX Linux library's availability via GetIt for Studio 12.3 in May 2025, enabling seamless client application development on 64-bit. Further updates in 2025 included the full release of RAD Studio 12.3 in March 2025, enhancing cross-platform tools, and RAD Studio 13 Florence in September 2025, which improved FMXLinux integration for easier development in editions, along with a new 64-bit , coding assistance, and a Clang-based C++ .

Architecture

Core Framework Components

FireMonkey's core framework is built upon a hierarchical object model that facilitates the creation of cross-platform user interfaces. At its foundation, the TFmxObject class serves as the root for all FireMonkey components, extending the standard TComponent to provide essential low-level functionality such as object creation, destruction, cloning, and management of child objects. This base class enables both visual and non-visual components to integrate seamlessly within the framework, supporting features like free notifications and compatibility with FireMonkey styles and animations. Visual UI elements derive from the TControl , which inherits from TFmxObject and acts as the primary for on-screen components. TControl handles fundamental aspects of visual representation, including positioning, sizing, visibility, opacity, scaling, rotation, and interaction with mouse and keyboard events, while also implementing interfaces for alignment, effects, gestures, and animations. Subclasses of TControl encompass primitive shapes for basic graphics and styleable controls that leverage the framework's styling system for customizable appearances. Application windows, in turn, are represented by the TForm , a descendant of TCustomForm that provides the container for hosting other components and managing the overall form lifecycle, including design-time creation via the IDE's Form designer. Components in FireMonkey are categorized based on their primary roles to streamline development. Visual components, such as TButton for interactive buttons and TListBox for displaying selectable lists, focus on elements that render directly on screen and respond to user input. Layout components, including TPanel for grouping controls and TScrollBox for scrollable content areas, manage the spatial organization and alignment of child elements to ensure responsive designs across devices. Data-aware components, like TGrid for tabular data presentation, integrate with data sources to display and edit information, often in conjunction with mechanisms for dynamic updates. These categories allow developers to assemble complex interfaces modularly, with visual and layout elements forming the structural backbone. The framework employs a model to efficiently manage the hierarchical arrangement of and elements. This structure is anchored by the TScene , which defines a container for objects and is implemented by classes such as TForm for standard forms and TCustomLayer3D for layered compositions. Layers, represented by TLayer, enable the organization of elements into stacked or nested hierarchies, optimizing rendering by grouping related objects for efficient traversal and updates. This model supports the dynamic composition of scenes, where parent-child relationships dictate visibility, transformations, and event propagation among components. The rendering pipeline processes this to draw elements, leveraging where available. A distinctive feature of FireMonkey is LiveBindings, a declarative mechanism for connecting components to and data sources without extensive procedural code. LiveBindings uses expression-based bindings to link properties—such as a TEdit's Text property to a field—enabling automatic, bidirectional synchronization of changes across objects. This approach, supported by visual tools like the LiveBindings Designer and components such as TBindSourceDB and TPrototypeBindSource, accelerates prototyping by allowing developers to visualize and test data flows at design time, even with mock data. Unique to the framework's rapid development paradigm, LiveBindings reduces for data-aware scenarios, making it ideal for cross-platform applications requiring real-time updates.

Rendering Pipeline

FireMonkey's rendering pipeline processes through a series of stages that transform the application's into a displayed image, leveraging where possible. The process begins with scene traversal, during which the updates object such as transforms, animations, and states within the hierarchical structure of TFmxObject descendants. This stage ensures that all visual elements, from simple controls to complex models, are prepared for rendering by applying changes from user interactions or timers. Following traversal, the advances to primitive resolution and , where components override methods like TControl. to directly onto a abstraction. For styled controls, this involves resolving style trees into layered that are composited efficiently. The commands are then rasterized using platform-specific graphics APIs, culminating in presentation to the display via the GPU for smooth, output. This GPU-centric approach enables high-frame-rate rendering, particularly for animations and effects. Backend selection in the pipeline is determined by the target platform to optimize performance and compatibility. On Windows, FireMonkey employs Direct2D for 2D vector graphics and Direct3D for 3D rendering, providing hardware-accelerated drawing with support for anti-aliasing and gradients. For macOS and iOS, the Metal API serves as the primary backend, introduced in RAD Studio 10.4 for improved efficiency over legacy OpenGL and Quartz. Android utilizes OpenGL ES for both 2D and 3D operations, ensuring broad device support, while Linux relies on OpenGL for cross-desktop rendering. These backends are abstracted to allow seamless code portability without platform-specific modifications. Key optimizations in the pipeline revolve around the TCanvas class, which offers a unified for device-agnostic drawing operations such as filling shapes, stroking paths, and applying text. TCanvas supports custom shaders via GLSL or HLSL for advanced effects and integrates multi-threading for of non-dependent tasks, like off-screen rendering, to reduce main-thread bottlenecks. In 2024, FireMonkey adopted Skia as its core 2D rendering engine across all platforms, unifying handling and delivering superior , , and performance gains—up to 2x faster in complex scenarios compared to prior implementations—while maintaining . The pipeline draws from core framework components, such as the scene manager, to feed these optimized stages. In RAD Studio 13.0 (2025), FireMonkey introduced the Display Link Service as a central engine for all application animations, replacing the legacy timer-based system. This service uses platform-native , such as for and Choreographer for , to synchronize updates and animations with the display's (e.g., 60 Hz, 90 Hz, or 120 Hz) and VSync events. It ensures frame-accurate rendering, improved stability, and smoother visuals across platforms. The TAniCalculations.Interval property was removed, with animations now automatically matching the display .

Features

Graphics and Visual Effects

FireMonkey provides robust tools for graphics rendering, enabling developers to manipulate , draw paths, and apply gradients through the TCanvas class in the FMX.Graphics unit, powered by the Skia graphics library since RAD Studio 12 (2023) for cross-platform consistency and improved performance, with updates in RAD Studio 13 Florence (2025). manipulation is facilitated by methods for loading, drawing, and altering image data directly on the , supporting operations like and for efficient 2D scene construction, with enhanced GPU-accelerated bitmap copying in RAD Studio 13. Paths are created and rendered using geometric primitives, allowing for complex shapes defined by points and curves, while fills and outlines are controlled via TBrush and TStroke objects. TBrush handles interior fills with support for solid colors, gradients (linear, radial, or bitmap-based), and patterns, whereas TStroke manages line styles, thickness, dashes, and joins for precise contour drawing. Additionally, FireMonkey supports SVG imports through TPathData, which parses vector paths from SVG files for scalable 2D rendering without loss of quality. For 3D capabilities, FireMonkey utilizes the TMesh class to represent models, allowing the creation or import of polygonal meshes in formats such as , DAE, and ASE via the TModel3D component. and shading are achieved through TLight objects, which include directional, point, and spot types, combined with GLSL shaders applied via material sources to define surface properties like emissive, ambient, diffuse, and specular responses. Camera controls are managed by the TCamera component, enabling developers to set position, rotation, and projection modes for immersive user interfaces, often enhanced by TDummy objects for dynamic camera booms. These elements support real-time integrated into cross-platform applications. Animations in FireMonkey are powered by the TAnimator class, which orchestrates property changes over time, including automatic starting, delaying, and options for stopping, restarting, or reversing sequences, with the new Display Link Service in RAD Studio 13 Florence (2025) providing more stable and smooth performance. Keyframe timelines are implemented through subclasses like TFloatAnimation for smooth transitions in properties such as position or opacity, TColorAnimation for hue shifts, and TBitmapListAnimation for sequenced image playback. Easing functions control , with linear providing constant and simulating rebounds at animation endpoints. Visual effects leverage GPU-accelerated shaders for transformations like blurs and distortions, applied via the TEffect base class and subclasses such as TBlurEffect for Gaussian blurring of object textures. Developers attach effects to components like TImage, animating parameters (e.g., blur intensity or ripple phase) for dynamic visuals, and combine multiple effects in TLayout containers for layered processing. Distortions, such as ripples or magnifications, are handled by specialized filters like TRippleEffect, which modify pixel coordinates using shader-based algorithms. Multi-resolution bitmaps address DPI scaling by storing images at various scales (e.g., 1x, 2x), allowing FireMonkey to select the appropriate resolution automatically for high-DPI displays without manual stretching. A distinctive feature of FireMonkey is its hybrid 2D/3D mixing, where 3D objects can be seamlessly embedded into forms using TViewport3D or TLayer3D components, enabling controls like buttons to interact with scenes while preserving projection integrity. This integration occurs through the rendering pipeline's support for layered viewports within standard layouts.

Styling and Theming

FireMonkey employs a flexible style system to customize the visual appearance of controls without requiring subclassing. The core of this system is the TStyleBook component, which loads and manages style definitions stored in .style files. These files encapsulate metrics such as sizes and positions, colors for fills and strokes, and bitmaps used as assets for controls like buttons and labels. The theming process in FireMonkey allows developers to apply either platform-specific themes or custom styles to achieve consistent aesthetics across applications. Platform themes adhere to native design guidelines, such as Apple's for (e.g., iOSBlack.fsf and iOSTransparent.fsf styles) and Google's for (e.g., AndroidDark.fsf and AndroidLight.fsf styles), ensuring apps blend seamlessly with system-native looks. Custom styles can be created or modified using the Bitmap Style Designer, saved as .style files, and loaded into a TStyleBook for targeted use. Runtime switching of themes is facilitated by the ApplyStyleLookup method on styled controls, which retrieves and applies the appropriate style object based on the control's StyleLookup property; alternatively, TStyleManager.SetStyle can apply a style globally before application initialization. Customization options within FireMonkey styles enable precise over visual elements. Bitmap styles support scalable assets through multi-resolution (e.g., 1x, 1.5x, 2x, and 3x variants), allowing images to adapt to different screen density without distortion; these are edited in the Bitmap Style Designer by importing files and linking them to states like normal, pressed, or disabled. Font fallbacks, similar to CSS mechanisms, ensure text rendering uses alternative families if the primary one is unavailable on a platform, configurable via the TText components in styles. Property overrides, such as adjusting Opacity for transparency effects or Stroke properties for line thickness and color in shapes, can be applied directly in the style editor to tailor individual appearances. A key concept in FireMonkey's styling is the inheritance hierarchy, which promotes consistency by propagating base styles to child controls. When applying a style, the system first searches the TStyleBook using the control's explicit StyleLookup or its default class name; if not found, it falls back to hard-coded defaults based on the class name or its parent classes in the inheritance chain, ensuring derived controls inherit visual traits unless overridden. This hierarchical approach minimizes redundancy and maintains uniform theming across complex UI layouts.

Platform Abstraction Services

FireMonkey's platform abstraction services provide a unified for accessing operating system-specific functionalities, enabling developers to write cross-platform code without platform-dependent implementations. These services are implemented as interfaces in the FMX. unit, prefixed with IFMX, and are dynamically registered and retrieved via the TPlatformServices at . This architecture allows FireMonkey applications to adapt seamlessly to the underlying , such as Windows, macOS, , or , by delegating calls to platform-native through service implementations. For instance, the IFMXWindowService handles multi-window operations, including creation, activation, and minimization, ensuring consistent window management across desktop environments. Key abstractions cover essential OS interactions, including clipboard operations via the IFMXClipboardService, which supports setting and retrieving text or uniformly, and dialog presentations through the IFMXDialogService for alerts, confirmations, and file open/save prompts. Notifications and application events are managed by the IFMXApplicationService, which provides cross-platform hooks for system-level notifications like low-memory warnings or orientation changes, with a new ApplicationEvents component in RAD Studio 13. File access is abstracted through dialog services that invoke native file pickers, while properties such as TabOrder are automatically adapted by the framework to follow platform conventions—logical traversal on Windows versus reading order on languages in platforms. These services ensure that applications behave intuitively without manual reconfiguration, including the new IFMXSpellCheckerServiceEx for advanced text checking in RAD Studio 13 (2025). Input and gesture handling are unified across devices using services like IFMXTextService for and text input, and IFMXGestureRecognizersService for touch and events, with built-in support for platform defaults such as swipes on or hover effects on . This allows a single codebase to respond to diverse input methods, mapping gestures like pinch-to-zoom or drag-and-drop to equivalent behaviors regardless of the OS. The framework's extensibility permits custom services to be implemented and registered using TPlatformServices.AddPlatformService, facilitating third-party plugins for specialized features like device sensors or cloud integrations without altering core code.

Platforms and Deployment

Supported Operating Systems

FireMonkey provides native support for several and operating systems, enabling developers to build and deploy applications across diverse architectures. On platforms, it targets Windows in both 32-bit and 64-bit configurations, utilizing or for hardware-accelerated rendering on versions including , , Windows Server 2025, and Windows Server 2022. For macOS, FireMonkey integrates with frameworks and supports 64-bit and 64-bit () architectures on macOS 26 Tahoe, 15 Sequoia, and 14 Sonoma, leveraging Metal for GPU-accelerated graphics rendering. Linux support is available for 64-bit architectures on distributions such as 24, 22, 10, and 2 (WSL2), with rendering handled via and integration for native widget support. For mobile platforms, FireMonkey enables deployment to iOS devices using 64-bit architecture on 18, facilitating submission to the Apple through native integration and Metal-based GPU rendering. On Android, it supports both 32-bit and 64-bit architectures (with extensions required) across Android 16, 15, 14, and 13, using JNI bridging for native access and for graphics acceleration, allowing applications to be distributed via . Regarding architecture specifics, ensures bit-width across targets, with 64-bit as the primary focus for modern devices; it accommodates ARM-to-x86 emulation where necessary, such as via 2 on for legacy binaries, though native support is preferred for performance. There is no official support for or browser-based deployment, limiting FireMonkey to native OS environments. Recent enhancements in RAD Studio 13 (released in 2025) have improved stability and feature parity, building on prior integrations with better rendering and dependency management via the GetIt Package Manager.

Cross-Platform Development Process

The cross-platform development process in FireMonkey, integrated within RAD Studio, enables developers to create a single codebase that compiles to native applications for multiple operating systems, including Windows, macOS, , and . The build process relies on conditional compilation directives, such as $IFDEF and $UNDEF, to include or exclude platform-specific code segments during compilation, allowing tweaks like calls or UI adjustments without separate projects. For targets requiring remote compilation, such as or , the Platform Assistant (PA) Server facilitates building and deploying to connected devices from a host machine, streamlining the workflow by handling cross-compilation over a network connection. Testing FireMonkey applications involves RAD Studio's built-in device emulators, which simulate hardware environments for platforms like and , allowing verification of functionality without physical devices. The Multi-Device Previewer tool provides real-time visualization of the user interface across various screen sizes, resolutions, and DPI settings, enabling developers to assess layout adaptability during design. Deployment packages FireMonkey applications as native executables tailored to each platform, such as .ipa files for iOS and .apk files for Android, using RAD Studio's Deployment Manager to bundle resources and configurations. Signing is essential for distribution; for Android, a keystore file secures the .apk, while iOS requires Apple Developer Program certificates and provisioning profiles to ensure compliance. Store submission follows platform guidelines, with RAD Studio supporting uploads to Google Play, the Apple App Store, and others via signed binaries and metadata. Best practices emphasize using multi-view containers in multi-device projects to create responsive layouts that adapt to different form factors, such as adding platform-specific views via the for optimized UI per target. Developers should handle platform-specific permissions explicitly, for example, enabling camera access through Android's Uses Permissions in the project options or iOS provisioning entitlements, to avoid runtime denials while minimizing unnecessary grants.

References

  1. [1]
    FireMonkey - RAD Studio
    ### Summary of FireMonkey
  2. [2]
    FireMonkey Framework in RAD Studio - Embarcadero
    FireMonkey is a multi-device, true native app platform for building apps for Windows, OS X, Android, and iOS, without separate projects.
  3. [3]
    Long-Term Feasibility Benchmarking Between Delphi And Electron
    Mar 13, 2022 · It's multi-platform desktop and mobile framework (FireMonkey) was released in 2011 and constantly expands access to new hardware and operating ...
  4. [4]
  5. [5]
    Offline Capable Cross Platform Delphi 10.2 FireMonkey Client Code ...
    Sep 5, 2018 · The Field Service App client project, created in RAD Studio Delphi with FireMonkey (FMX). ... History; Parts; Profile; Notify; Data Sync.<|control11|><|separator|>
  6. [6]
    FireMonkey - RAD Studio - Embarcadero DocWiki
    FireMonkey is a visual component library using GPU for graphics, animation, and styling, creating visually engaging applications on multiple platforms.
  7. [7]
    FireMonkey Quick Start Guide - Programming Languages
    You can develop your FireMonkey applications in either C++Builder or Delphi, two easy to learn component based object oriented programming languages.
  8. [8]
    Delphi 4 Python Released - Press Releases - Embarcadero
    Jan 10, 2022 · FireMonkey (FMX) is Delphi's cross-platform GUI library. It takes advantage of GPU hardware acceleration using OpenGL or DirectX to create slick ...
  9. [9]
    Delphi VCL & FMX Libraries for Python - Embarcadero
    Embarcadero's free DelphiFMX module for Python supports building Python applications for Android using the FireMonkey GUI library. This webinar gives your ...
  10. [10]
    Introduction to Python GUI Development with Delphi for Python (VCL ...
    Jan 12, 2022 · VCL and FireMonkey (FMX) are mature GUI libraries. VCL is ... ○ Delphi also creates natively compiled Python modules via Python4Delphi
  11. [11]
    FireMonkey Style Designer - RAD Studio - Embarcadero DocWiki
    The FireMonkey Style Designer window, in combination with the Structure view and the Object Inspector, helps you create, edit, and test FireMonkey styles.
  12. [12]
    RAD Studio: Software App Design Features - Embarcadero
    FireUI App Previews lets you preview your FireMonkey application on iOS, Android, macOS and Windows targets as you are designing the app. Preview design changes ...
  13. [13]
    Bitmap Style Designer - RAD Studio
    The Bitmap Style Designer enables you to: Create, edit, and test FireMonkey styles ( .style files). Create, edit, and test VCL styles ( ...<|control11|><|separator|>
  14. [14]
    FMX - RAD Studio API Documentation - Embarcadero DocWiki
    FMX is the unit scope that contains the units and unit scopes of the FireMonkey application platform (FMX). ... Also see FireMonkey Actions. FMX.StdCtrls ...
  15. [15]
    Easily Create Stunning Responsive Apps With Third Party FMXUI ...
    Jan 4, 2021 · FMXUI is a library with 20+ UI components for FireMonkey, supporting multiple platforms, and offering components like TView, TProgressView, and ...
  16. [16]
    9 FireMonkey Component Suites To Get You Up And Running Fast ...
    Nov 11, 2017 · The FireMonkey component suites are: Kernow Software FMX Components, KastriFree, ALFmxControls, FMXUI, FMXComponents, ZMaterialComponents, FMX- ...Missing: third- party
  17. [17]
    ANN: VGScene for Lazarus (Win32 & Mac OS X)
    Jun 7, 2009 · KSDev (http://www.ksdev.com) released its new product - VGScene for Lazarus 0.9.27.x(Windows,Mac OS X)! VGScene speeds the development of ...
  18. [18]
    Hands on with Delphi XE2 for Apple iOS | Tim Anderson's IT Writing
    Sep 4, 2011 · FireMonkey emerged after Embarcadero acquired the intellectual property of a company called KSDev early in 2011, along with its founder Eugene ...Missing: origins | Show results with:origins
  19. [19]
    ANN: DXScene 3.05 & VGScene 3.05 - Lazarus Forum - Free Pascal
    * Advanced skinning engine based on vector graphics styles. ... DXScene is 3D hardware accelerated graphics library Delphi/C++ Builder/Lazarus. ... www.ksdev.com
  20. [20]
    Embarcadero Delphi XE2 Review of New Features
    Aug 30, 2011 · FireMonkey is based on VGScene/DXScene, which was created by KSDev (Eugene A. ... Delphi XE2 release-date is to be announced. And, I also hope the ...
  21. [21]
    Embarcadero purchase KSDev - Delphi Haven - WordPress.com
    Feb 6, 2011 · Perhaps the most significant piece of the latter is VGScene, a cross-platform, WPF-like visual framework written in Pascal. According to the man ...Missing: 2000s | Show results with:2000s
  22. [22]
    Eugene Kryukov, 'Father of FireMonkey', and incredibly talented ...
    Aug 19, 2024 · Eugene originally created a product called VGScene which was acquired by Embarcadero. VGScene was then renamed and expanded as FireMonkey under ...Missing: origins | Show results with:origins
  23. [23]
    See what's new in RAD Studio XE2 at a free World Tour event near ...
    And with FireMonkey™, the GPU-powered next-generation application platform, you'll be able to create visually stunning HD and 3D business applications that are ...Missing: debut | Show results with:debut
  24. [24]
    RAD Studio XE2 is RTM - Lars Fosdal
    Sep 1, 2011 · RAD Studio XE2 – VCL and FireMonkey (FMX) first glance comparison August 25, 2011 In "Delphi". Tagged; Delphi · Embarcadero · RAD Studio · XE2 ...Missing: debut | Show results with:debut
  25. [25]
    The First Delphi For Android (and not only)
    Sep 19, 2013 · Delphi XE5 is the first Delphi for Android. But this release is "the first" only from many other point of views: The first Delphi for ...
  26. [26]
    Actions, Action Lists And Action Managers - Brian Long
    In 2012 Delphi XE3, C++Builder XE3 and RAD Studio XE3 have added the first iteration of action support into the FireMonkey cross-platform framework. FireMonkey ...
  27. [27]
    [PDF] What's New in Delphi and C++Builder XE3
    Aug 8, 2012 · You can use anchors to arrange FireMonkey controls. ○ Audio-video. ○ FireMonkey offers support for capturing media data (audio and video). For ...
  28. [28]
    [PDF] RAD Studio XE6 Feature Matrix - Interface.ru
    FireMonkey Mobile Application Wizard with header/footer, tabbed, and master ... Interactive multi-touch gestures for pan, zoom, rotate, tap, double tap ...<|separator|>
  29. [29]
    [PDF] RAD Studio, Delphi, C++Builder XE8 Feature Matrix - Danysoft
    FireMonkey Frames for designing portions of the UI and repeating them on multiple forms ... Multi-tab watch view for logically grouping variables. H. H. Event log ...
  30. [30]
    Embarcadero/DelphiFMX4Python: Python GUI module ... - GitHub
    It gives Python developers access to the FireMonkey GUI framework and is freely redistributable. Supports Windows, MacOS, Linux, and Android GUI development.Missing: integration 2021
  31. [31]
    How To Use Skia in C++ Builder 12?
    Apr 9, 2024 · The latest RAD Studio / C++ Builder 12 comes with fully integrated Skia graphics library support in C++ and throughout the IDE.
  32. [32]
    FireMonkey for Linux - RAD Studio - Embarcadero DocWiki
    FireMonkey for Linux provides the ability to create GUI applications for Linux, extending Delphi's FireMonkey cross-platform framework. FMXLinux expands ...
  33. [33]
    FMX Linux for Delphi 12.3 is Now Available - Embarcadero Blogs
    May 14, 2025 · FMX Linux is a UI library for building Linux client apps with Delphi, extending the FireMonkey framework, and is available for RAD Studio 12.3 ...
  34. [34]
    FMX.Types.TFmxObject - RAD Studio API Documentation
    TFmxObject extends TComponent to provide low-level functionality to FireMonkey components, including: Creating, destroying, and releasing objects; Cloning, ...Missing: TControl TForm
  35. [35]
    FMX.Controls.TControl - RAD Studio API Documentation
    TControl is the base class for FMX on-screen components. Subclasses are roughly divided into primitive shapes and styleable controls.Missing: TForm | Show results with:TForm
  36. [36]
    FMX.Forms.TForm - RAD Studio API Documentation
    ### Summary of TForm in FireMonkey
  37. [37]
    [PDF] FireMonkey in Depth: Components and Styles - Embarcadero
    This paper offers a deeper look into some of the key elements of the FireMonkey architecture, namely components architecture and the role of styles in this ...Missing: framework | Show results with:framework
  38. [38]
    LiveBindings in RAD Studio - Embarcadero DocWiki
    There is another LiveBinding sample in the folder Object Pascal\FireMonkey Desktop\ListCollections, which is described in FMX.ListCollections Sample. These ...Missing: declarative | Show results with:declarative
  39. [39]
    Learn to use LiveBindings in RAD Studio - Embarcadero
    Examine each of the LiveBinding components; Learn how to make FireMonkey controls data aware through LiveBindings; Discover a new perspective on software design.Missing: layout | Show results with:layout
  40. [40]
    FireMonkey Component Rendering - RAD Studio
    FireMonkey Component Rendering. Go Up to FireMonkey Components Guide. Contents. Basic 2D Component Rendering. Painting versus Compositing. See Also. Basic 2D ...Missing: pipeline | Show results with:pipeline
  41. [41]
    FireMonkey Paint Canvases - Marco Cantu's Blog
    Nov 4, 2015 · This "GPU Canvas" is a way to send graphic commands to the GPU directly, bypassing an operating system stack which is not always very efficient.
  42. [42]
    FireMonkey New Features and Enhancements - RAD Studio
    New FireMonkey features include Metal API support, a new styled memo implementation, improved Toolbar, and a new TBufferedLayout component.
  43. [43]
    [PDF] Leveraging SKIA in RAD Studio | Grey Matter
    “Skia is an open source 2D graphics library which provides common. APIs that work across a variety of hardware and software platforms. It.Missing: integration | Show results with:integration
  44. [44]
    FMX.Graphics.TCanvas - RAD Studio API Documentation
    TCanvas provides properties, events, and methods that assist in creating an image by: Specifying the type of brush, stroke, and font to use. Drawing and filling ...
  45. [45]
    FMX.Graphics.TCanvas.Stroke - RAD Studio API Documentation
    Determines the color and pattern of the drawing pen used to draw lines and shape contours on the current TCanvas. The value of Stroke is a TStrokeBrush ...Missing: 2D | Show results with:2D
  46. [46]
    Simple SVG images in Delphi applications - IdeasAwakened
    Nov 19, 2019 · Simple SVG based graphics/buttons are easy to use in your Firemonkey applications right out of the box without any third-party controls.
  47. [47]
    FireMonkey 3D - RAD Studio - Embarcadero DocWiki
    FireMonkey presents 2D views of objects in 3D space. A TViewport3D displays 3D content in an otherwise 2D form, while a TForm3D starts with 3D content.Missing: TScene | Show results with:TScene
  48. [48]
    FireMonkey Animation Effects - RAD Studio - Embarcadero DocWiki
    Custom animation components can be created by subclassing TAnimation and implementing ProcessAnimation. See Also. Using FireMonkey Animation Effects ...Missing: TAnimator | Show results with:TAnimator
  49. [49]
    FMX.Effects - RAD Studio API Documentation - Embarcadero DocWiki
    TBlurEffect is a class for creating an effect that blurs the texture of visible objects. TEffect, Base class for most of the FireMonkey graphic effects classes.
  50. [50]
    Using FireMonkey Image Effects - RAD Studio - Embarcadero DocWiki
    FireMonkey provides many different types of built-in image effects that modify an image either individually or in concert with others to achieve various visual ...
  51. [51]
    Using Multi-Resolution Bitmaps - RAD Studio - Embarcadero DocWiki
    If both these icons have the same logical size in FireMonkey, then for the 1024×1024 icon FireMonkey should use the Scale = 2 . So we use different Scales to ...
  52. [52]
    Creating a 2D Interface in a 3D Application (FireMonkey 3D Tutorial)
    If a 2D component is dragged and dropped on a 3D container, the component will not be rendered but it will appear in the Structure View as a child control.Missing: integration | Show results with:integration
  53. [53]
    Customizing FireMonkey Applications with Styles - RAD Studio
    FireMonkey controls are arrangements of a tree composed of subcontrols, primitive shapes, and brushes, decorated with effects. These compositions are defined ...
  54. [54]
  55. [55]
    Working with Native and Custom FireMonkey Styles - RAD Studio
    On the Master view, select a style from the Form Designer Style drop-down menu (Windows, macOS, iOS, or Android). This example uses Android style for the Master ...Missing: themes | Show results with:themes
  56. [56]
    FMX.Controls.TStyledControl.ApplyStyleLookup - RAD Studio API ...
    Gets and applies the style of a TStyledControl. ApplyStyleLookup gets the style by calling the GetStyleObject method and applies it through the ApplyStyle ...Missing: lookup | Show results with:lookup
  57. [57]
    Bitmap Style Designer - RAD Studio - Embarcadero DocWiki
    The Bitmap Style Designer creates, edits, and tests FireMonkey and VCL styles, working with style templates and converting VCL to FireMonkey styles.
  58. [58]
    FireMonkey Platform Services - RAD Studio - Embarcadero DocWiki
    A platform service is a FireMonkey interface that defines some functionality that might or might not be implemented on a particular run-time platform.Missing: list | Show results with:list
  59. [59]
    Using the RTL Cross-Platform Messaging Solution - RAD Studio
    FireMonkey Support for RTL Messages. FireMonkey provides a platform service, IFMXApplicationService, that provides cross-platform access to event notifications ...
  60. [60]
    Supported Target Platforms - RAD Studio - Embarcadero DocWiki
    FireMonkey · VCL. Windows. Windows 11, Windows 10, Windows 7 (SP1+), Windows Server 2022, Windows Server 2019, and Windows Server 2016. Windows 32-bit ...Missing: operating | Show results with:operating
  61. [61]
    FireMonkey - RAD Studio - Embarcadero DocWiki
    VCL Is Incompatible with FireMonkey · FireMonkey (FMX) is a visual component library with sophisticated graphics, animation, and styling capabilities. · Visual ...
  62. [62]
    FireMonkey for Linux - RAD Studio
    ### Summary of FireMonkey for Linux Support
  63. [63]
    Android Mobile Application Development - RAD Studio
    Using FireMonkey you can create an Android application and deploy it to Android devices. File > New > Multi-Device Application - Delphi. The procedure that ...Missing: process | Show results with:process
  64. [64]
    iOS Mobile Application Development - RAD Studio
    The Dark theme support is enabled in the FireMonkey framework by default, for both the styled controls and the natively rendered controls. For developers using ...
  65. [65]
    Conditional compilation (Delphi) - RAD Studio - Embarcadero DocWiki
    Use the {$DEFINE} directive to set a specified symbol to True, and the {$UNDEF} directive to set the symbol to False. Use the -D switch with the command-line ...
  66. [66]
    Multi-Device Preview - RAD Studio - Embarcadero DocWiki
    The Multi-Device Preview displays a preview of the design area of several devices at the same time so you can see how your application looks in different ...
  67. [67]
  68. [68]
  69. [69]
  70. [70]
  71. [71]
    Adding Views to Your Multi-Device Project - RAD Studio
    To toggle between views in the Form Designer, select a view on the drop-down Views menu. To add one or more views to your multi-device project, click a platform ...Missing: XE8 | Show results with:XE8
  72. [72]