# Juliet\include\Core\HAL\Display\Display

## Source Files
- Header: `Juliet\include\Core\HAL\Display\Display.h`
- Source: `Juliet\src\Core\HAL\Display\Display.cpp`

## AI Description
The `Display` component in this C++ code is designed to manage and interact with display devices on a platform. It provides functions for creating, destroying, showing, hiding, and managing windows on the display. The component uses an arena-based memory allocator to allocate and deallocate resources efficiently. The `DisplayDeviceFactory` pattern is used to create different types of display devices such as Win32-specific displays. The `InitializeDisplaySystem` function initializes the display system by creating a suitable display device, while the `ShutdownDisplaySystem` function cleans up all resources when the application exits.

## Symbols

### Namespace `Juliet`

#### Functions & Methods
- `extern JULIET_API Window* CreatePlatformWindow(const char* title, uint16 width, uint16 height, int flags = 0 /* unused */)`
- `extern JULIET_API void DestroyPlatformWindow(NonNullPtr<Window> window)`
- `extern JULIET_API void ShowWindow(NonNullPtr<Window> window)`
- `extern JULIET_API void HideWindow(NonNullPtr<Window> window)`
- `extern JULIET_API WindowID GetWindowID(NonNullPtr<Window> window)`
- `extern JULIET_API void SetWindowTitle(NonNullPtr<Window> window, String title)`

