mirror of
https://review.haiku-os.org/haiku
synced 2025-01-22 14:24:48 +01:00
0f107fa327
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1094 a95241bf-73f2-0310-859d-f6bbb57e9c96
102 lines
6.6 KiB
HTML
102 lines
6.6 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Desktop.htm</TITLE>
|
|
<style type="text/css">
|
|
<!--
|
|
.Default {background-color: rgb(255,255,255); color: rgb(0,0,0); font-family: 'Dutch801 Rm BT'; font-size: 12pt}
|
|
.OBOS-Function-Def {background-color: rgb(255,255,255); color: rgb(0,0,0); font-family: 'Dutch801 Rm BT'; font-size: 16pt}
|
|
.OBOS-Title {background-color: rgb(255,255,255); color: rgb(0,128,0); font-family: 'Dutch801 Rm BT'; font-size: 24pt}
|
|
.Text-Background {background-color: rgb(255,255,255)}
|
|
.GR-Default {}
|
|
.Body {margin: 0px}
|
|
.Footer {margin: 0px}
|
|
.Header {margin: 0px}
|
|
.WP-Default {text-align: left; text-indent: 0px; margin-left: 0px; margin-right: 0px}
|
|
-->
|
|
</style>
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
<DIV class="sheet" id="Sheet 1">
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Title">Desktop module</span><span style="color: rgb(0,0,0); font-size: 24pt"></span></P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
</P>
|
|
<P class="Body" style="margin: 0px">There are no globally accessible objects in this section of code, but many function definitions to work with workspaces, screen attributes, and other such things. These functions work with the private desktop classes Screen and Workspace.</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
</P>
|
|
<P class="Body" style="margin: 0px">
|
|
<HR>
|
|
</P>
|
|
<P class="Body" style="margin: 0px">Global Functions</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
void InitDesktop(void)</P>
|
|
<P class="Body" style="margin: 0px">void ShutdownDesktop(void)</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
void AddWorkspace(int32 index=-1)</P>
|
|
<P class="Body" style="margin: 0px">void DeleteWorkspace(int32 index)</P>
|
|
<P class="Body" style="margin: 0px">int32 CountWorkspaces(void)</P>
|
|
<P class="Body" style="margin: 0px">void SetWorkspaceCount(int32 count)</P>
|
|
<P class="Body" style="margin: 0px">int32 CurrentWorkspace(screen_id screen=B_MAIN_SCREEN_ID)</P>
|
|
<P class="Body" style="margin: 0px">void SetWorkspace(int32 workspace, screen_id screen=B_MAIN_SCREEN_ID)</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
void SetScreen(screen_id id)</P>
|
|
<P class="Body" style="margin: 0px">int32 CountScreens(void)</P>
|
|
<P class="Body" style="margin: 0px">screen_id ActiveScreen(void)</P>
|
|
<P class="Body" style="margin: 0px">DisplayDriver *GetGfxDriver(screen_id screen=B_MAIN_SCREEN_ID)</P>
|
|
<P class="Body" style="margin: 0px">status_t SetSpace(int32 index, int32 res, bool stick=true, screen_id screen=B_MAIN_SCREEN_ID)</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
void AddWindowToDesktop(ServerWindow *win, int32 workspace=B_CURRENT_WORKSPACE, screen_id screen=B_MAIN_SCREEN_ID)</P>
|
|
<P class="Body" style="margin: 0px">void RemoveWindowFromDesktop(ServerWindow *win)</P>
|
|
<P class="Body" style="margin: 0px">ServerWindow *GetActiveWindow(void)</P>
|
|
<P class="Body" style="margin: 0px">void SetActiveWindow(ServerWindow *win)</P>
|
|
<P class="Body" style="margin: 0px">Layer *GetRootLayer(int32 workspace=B_CURRENT_WORKSPACE, screen_id screen=B_MAIN_SCREEN_ID)</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
<HR>
|
|
</P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void InitDesktop(void)</span></P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
Sets up all the stuff necessary for the system's desktop.</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
1) Create a graphics module list by looping through allocation and initialization of display modules until failure is returned. If app_server exists, just create a ViewDriver module</P>
|
|
<P class="Body" style="margin: 0px">2) Create and populate Screen list, pointing each Screen instance to its Driver instance</P>
|
|
<P class="Body" style="margin: 0px">3) Create layer and workspace locks</P>
|
|
<P class="Body" style="margin: 0px">4) Set screen 0 to active</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
<span class="OBOS-Function-Def">void ShutdownDesktop(void)</span></P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
Undoes everything done in InitDesktop().</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
1) Delete all locks</P>
|
|
<P class="Body" style="margin: 0px">2) Delete all screens in the list</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
<span class="OBOS-Function-Def">void AddWorkspace(int32 index=-1)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void DeleteWorkspace(int32 index)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">int32 CountWorkspaces(void)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void SetWorkspaceCount(int32 count)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">int32 CurrentWorkspace(screen_id screen=B_MAIN_SCREEN_ID)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void SetWorkspace(int32 workspace, screen_id screen=B_MAIN_SCREEN_ID)</span></P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
Each of these calls the appropriate method in the Screen class. Add and Delete workspace functions operate on all screens.</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
<span class="OBOS-Function-Def">void SetScreen(screen_id id)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">int32 CountScreens(void)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">screen_id ActiveScreen(void)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">DisplayDriver *GetGfxDriver(screen_id screen=B_MAIN_SCREEN_ID)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">status_t SetSpace(int32 index, int32 res, bool stick=true, screen_id screen=B_MAIN_SCREEN_ID)</span></P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
Each of these calls operate on the objects in the Screen list, calling methods as appropriate.</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
<span class="OBOS-Function-Def">void AddWindowToDesktop(ServerWindow *win, int32 workspace=B_CURRENT_WORKSPACE, screen_id screen=B_MAIN_SCREEN_ID)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void RemoveWindowFromDesktop(ServerWindow *win)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">ServerWindow *GetActiveWindow(void)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">void SetActiveWindow(ServerWindow *win)</span></P>
|
|
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">Layer *GetRootLayer(int32 workspace=B_CURRENT_WORKSPACE, screen_id screen=B_MAIN_SCREEN_ID)</span></P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
These operate on the layer structure in the active Screen object, calling methods as appropriate.</P>
|
|
<P class="Body" style="margin: 0px"><BR>
|
|
</P>
|
|
<DIV class="layer" id="Layer 1">
|
|
</DIV>
|
|
</DIV>
|
|
</BODY>
|
|
</HTML>
|