POV-Ray : Newsgroups : povray.programming : [patch] Press mouse with +P : [patch] Press mouse with +P Server Time
5 Jul 2024 14:41:49 EDT (-0400)
  [patch] Press mouse with +P  
From: Wolfgang Wieser
Date: 29 Nov 2003 07:31:22
Message: <3fc89199@news.povray.org>
Here we go again...

Christoph Hormann wrote:
>I did not completely understand your description, does this also fix the 
>problem that when you close the render window with a mouse click after 
>completition (with the +p option) the mouse event is passed to whatever 
>is behind the window?
>
This is a separate patch for the mouse press bug as described above: 

Modified in unix.cpp:

Add ButtonReleaseMask to the event mask: 
-----------------------------------------------------------------------
#define theEVENTMASK  (ButtonPressMask      | \
                       ButtonReleaseMask    | \
                       KeyPressMask         | \
                       ExposureMask         | \
                       StructureNotifyMask)
-----------------------------------------------------------------------

Make button release quit POVRay (instead of button press): 
This is to replace the "case ButtonPress:" label in HandleXEvents():

-----------------------------------------------------------------------
      case ButtonPress:
    #if (X11_DEBUG > 0)
            Debug_Info("ButtonPress\n");
    #endif
        if(!finished)
        {
            /*
             * If not finished, a button click will cause a window refresh.
             */
            refresh_x_min = 0;
            refresh_y_min = theCurrY;
            refresh_x_max = Frame.Screen_Width;
            refresh_y_max = theCurrY + 1;
            refresh = True;
        }
        break;
      case ButtonRelease:
    #if (X11_DEBUG > 0)
            Debug_Info("ButtonRelease\n");
    #endif
        if(finished)
        {
           /* If finished, a button release will quit.*/
           abortRender |= finished;
        }
        break;
-----------------------------------------------------------------------

I will not post the complete function here because it is too long. 

Wolfgang


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.