Reference Codebot Controls package
See all packages
The codebot_controls package provides LCL controls, forms, and 2D graphics. Instead of using the native widgets of the platform, its controls draw themselves on a surface using antialiased vector graphics and a theme. The package requires codebot and the LCL.
Graphics
Codebot.Graphics creates the drawing objects declared in Codebot.Graphics.Types of the codebot package, including surfaces, bitmaps, pens, solid, gradient, and bitmap brushes, fonts, and matrices. It also defines TSurfaceBitmap, which is a graphic that holds a bitmap, TImageStrip, which is a component that holds a strip of images, the themes used to draw controls, splash windows, and screen capture.
Codebot.Graphics selects the drawing backend for the platform:
| Platform | Backend | Units |
|---|---|---|
| Linux | Cairo | Codebot.Graphics.Linux.SurfaceCairo |
| Windows | Direct2D | Codebot.Graphics.Windows.SurfaceD2D |
| Windows | GDI+ | Codebot.Graphics.Windows.SurfaceGdiPlus |
On Windows, bitmaps and image files are handled by Codebot.Graphics.Windows.ImageBitmap and Codebot.Graphics.Windows.InterfacedBitmap.
Controls
Forms
| Unit | Description |
|---|---|
| Codebot.Forms.Floating | TFloatingForm, a borderless form that can be transparent or let the mouse pass through it. |
| Codebot.Forms.Popup | TPopupForm, a form shown below a control, such as a drop down list. |
| Codebot.Forms.Widget | TWidget, a floating form that the user moves and resizes by dragging. |
| Codebot.Forms.ColorDialog | TAdvancedColorDialog, a dialog for choosing a color and its opacity. |
| Codebot.Forms.Management | FormManager, which finds and activates forms. |
Input and the window system
| Unit | Description |
|---|---|
| Codebot.Input.Hotkeys | Hotkeys that work across the whole system, even when the program is not in the foreground. |
| Codebot.Input.MouseMonitor | Reports mouse activity anywhere on the screen. |
| Codebot.Interop.Linux.NetWM | Part of the NetWM protocol used by X11 window managers. |
Other units
Codebot.Platform.LCL provides the Codebot.Platform interfaces of the codebot package using the LCL, including bitmaps, the clipboard, windows, and message, file, and picture dialogs. Scenes from the codebot_render package use it when they run inside an LCL form.
Codebot.Debug provides Bugout, which sends lines of text to another program, and TDebugServer, which receives them.
Items 1798 itemspage 1 of 90
| Name | Unit | Kind | Line |
|---|---|---|---|
| ArrangeControls | Codebot.Controls | procedure | 282 |
| Brushes | Codebot.Graphics | record | 306 |
| Brushes.Beam | Codebot.Graphics | function | 312 |
| Brushes.Brick | Codebot.Graphics | function | 315 |
| Brushes.Checker | Codebot.Graphics | function | 311 |
| Brushes.Circles | Codebot.Graphics | function | 316 |
| Brushes.Clovers | Codebot.Graphics | function | 318 |
| Brushes.Cross | Codebot.Graphics | function | 313 |
| Brushes.Dither | Codebot.Graphics | function | 310 |
| Brushes.FloorTile | Codebot.Graphics | function | 320 |
| Brushes.Pipes | Codebot.Graphics | function | 322 |
| Brushes.SnakeSkin | Codebot.Graphics | function | 321 |
| Brushes.Squares | Codebot.Graphics | function | 317 |
| Brushes.Tooth | Codebot.Graphics | function | 319 |
| Brushes.Transparent | Codebot.Graphics | function | 308 |
| Brushes.ZigZag | Codebot.Graphics | function | 314 |
| Bugout | Codebot.Debug | procedure | 58, 59, 60, 61 |
| CaptureScreen | Codebot.Graphics | procedure | 292 |
| CaptureScreenRect | Codebot.Graphics | procedure | 294 |
| ColorToDelphiText | Codebot.Forms.ColorDialog | function | 210 |