53df6323c8
Separate the "interface specification" into multiple individual, shorter pages. Also update some outdated parts and replace references to OpenBeOS with Haiku. Change-Id: I86baa9a78c5f7a8a3c4c7aa3ac2992714afecae6 Reviewed-on: https://review.haiku-os.org/c/haiku/+/6084 Tested-by: Automation <automation@haiku-os.org> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
86 lines
2.5 KiB
ReStructuredText
86 lines
2.5 KiB
ReStructuredText
Application Server
|
|
============================================
|
|
|
|
Purpose
|
|
~~~~~~~
|
|
|
|
The app_server provides services to the Haiku by managing processes,
|
|
filtering and dispatching input from the Input Server to the appropriate
|
|
applications, and managing all graphics-related tasks.
|
|
|
|
Tasks performed by app_server
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The tasks performed by the app_server are grouped in relation to its purpose.
|
|
|
|
- Receives and redirects (dispatches) messages from the input server
|
|
- Responds to messages from apps
|
|
- Receives and consolidates requests from BView, BWindow, BBitmap, and others to draw stuff (draw bitmap, etc)
|
|
- Utilizes ports to communicate with child processes
|
|
- Handles drag & drop messaging
|
|
- Manages the system clipboard
|
|
- Loads and Kills processes
|
|
- Detects absence of Input Server and restarts when not running
|
|
- Aids in system shutdown
|
|
- Dynamically loads accelerant portion of graphics driver
|
|
- Creates a connection with BBitmaps requiring a child view
|
|
- Draws the blue desktop screen
|
|
- Provides workspace support
|
|
- Provides functionality to the BeAPI for drawing primitives, such as rectangles, ellipses, and beziers
|
|
- Provides a means for BViews to draw on BBitmaps
|
|
- Manages window behavior with respect to redraw (move to front, minimize, etc)
|
|
- Returns a frame buffer to direct-access classes
|
|
- Caches fonts for screen and printer use
|
|
- Draws text and provides other font API support for the BeAPI classes
|
|
|
|
App server components
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. toctree::
|
|
|
|
/servers/app_server/graphics
|
|
/servers/app_server/process_management
|
|
/servers/app_server/input
|
|
/servers/app_server/messaging
|
|
|
|
- `Multiple Monitor Support Spec <MultiMonitor.htm>`__
|
|
|
|
Class Descriptions
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
Application Management
|
|
|
|
.. toctree::
|
|
|
|
/servers/app_server/AppServer
|
|
/servers/app_server/ServerApp
|
|
/servers/app_server/SharedObject
|
|
/servers/app_server/TokenHandler
|
|
/servers/app_server/DebugTools
|
|
|
|
Graphics Management
|
|
|
|
.. toctree::
|
|
|
|
/servers/app_server/BitmapManager
|
|
/servers/app_server/ColorUtils
|
|
/servers/app_server/CursorManager
|
|
/servers/app_server/Decorator
|
|
/servers/app_server/Desktop
|
|
/servers/app_server/DesktopClasses
|
|
/servers/app_server/DisplayDriver
|
|
/servers/app_server/Layer
|
|
/servers/app_server/PatternHandler
|
|
/servers/app_server/RGBColor
|
|
/servers/app_server/ServerBitmap
|
|
/servers/app_server/SystemPalette
|
|
/servers/app_server/WinBorder
|
|
|
|
Font Infrastructure
|
|
|
|
.. toctree::
|
|
|
|
/servers/app_server/FontServer
|
|
/servers/app_server/FontFamily
|
|
|