[haiku-bugs] Re: [Haiku] #5978: Implement app_server API to get mouse cursor information

  • From: "Wim" <trac@xxxxxxxxxxxx>
  • Date: Sat, 15 May 2010 06:40:58 -0000

#5978: Implement app_server API to get mouse cursor information
--------------------------------+-------------------------------------------
 Reporter:  Wim                 |       Owner:  nobody        
     Type:  enhancement         |      Status:  assigned      
 Priority:  normal              |   Milestone:  R1            
Component:  Servers/app_server  |     Version:  R1/Development
 Keywords:  Screenshot          |   Blockedby:                
 Platform:  All                 |    Blocking:  4100          
--------------------------------+-------------------------------------------

Comment(by Wim):

 OK, for the next step I need some more advice.

 I started working on an AS_GET_CURSOR_BITMAP command that puts the bitmap
 of the current cursor in the bitmap indicated by a token provided by the
 caller. It also returns the cursor hotspot as a BPoint.

 However, for the caller of the command to provide the bitmap token it
 needs the size of the cursor before it can create the bitmap. Should I
 create an additional command AS_GET_CURSOR_SIZE that returns the size of
 the current cursor? Somehow it doesn't seem to right way to do this. What
 if the cursor changes between calls to AS_GET_CURSOR_SIZE and
 AS_GET_CURSOR_BITMAP? Is there a way to prevent the cursor from changing?

 Alternatively I can create a new bitmap in the AS_GET_CURSOR_BITMAP
 command, but in that case I can't just return the token of that bitmap,
 because I don't see a way for the (userland) caller to get to the bitmap.
 In that case, do I attach the bitmap in a BMessage? Is this the prefered
 way?

 Another question I have is if it is desirable to have a function in
 InterfaceDefs for this command. For example, the AS_READ_BITMAP also
 doesn't have a companion function in InterfaceDefs, but is only handled in
 the PrivateScreen class. Is there some reason why some commands don't have
 corresponding functions in InterfaceDefs, or is it just that the
 implementation of these functions is planned for the future? Should the
 userland function of this particular command be part of the Screen class,
 InterfaceDefs, or both?

 I am sorry for all the questions, I am just not familiar enough (yet) with
 Haiku to make these decisions myself.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5978#comment:10>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: