/* copyright 2003 Alexander Malmberg */ #ifndef DisplayServer_h #define DisplayServer_h #include @class NSObject,NSData; @protocol RDSServer /** Getting information about the server **/ /* Returns a serialized plist (top-level object is a dictionary) with static server information. */ -(NSData *) rds_serverInformationDictionary; /* Returns a serialized plist with information about all available screens. The top-level object is an array. Each object in the array is a dictionary with information about that screen. The index in the array is the screen number. */ -(NSData *) rds_screenInformationArray; /** Window creation/termination **/ /* Creates a new window and returns the window number, or -1 if a new window could not be created. 'frame' is the original frame for the new window, and 'screen' is the screen it will be created on. The new window will be off the screen. */ -(int) rds_newWindowWithFrame: (NSRect)frame onScreen: (int)screen; /* Destroys the given window. */ -(oneway void) rds_destroyWindow: (int)window; /** Window placement **/ -(oneway void) rds_setFrame: (NSRect)frame forWindow: (int)window; -(oneway void) rds_orderWindow: (int)window relativeTo: (int)otherWindow mode: (int)mode; -(oneway void) rds_setLevel: (int)level ofWindow: (int)window; -(NSRect) rds_frameForWindow: (int)window; -(int) rds_levelOfWindow: (int)window; /** Window content **/ -(void) rds_getPixelWidth: (out unsigned int *)width height: (out unsigned int *)height bytesPerLine: (out unsigned int *)bytesPerLine forWindow: (int)window; -(void) rds_setShmid: (int)shmid pixelWidth: (unsigned int)width height: (unsigned int)height bytesPerLine: (unsigned int)bytesPerLine hasAlpha: (int)hasAlpha forWindow: (int)window; -(oneway void) rds_updateRect: (NSRect)rect ofWindow: (int)window; /** Misc. stuff **/ /* Beep. */ -(oneway void) rds_beep; @end @protocol RDSClient @end @protocol RDSServer_Connect -(NSObject *) rds_connectClient: (NSObject *)client; @end #endif