From: Robert M. <rob...@us...> - 2005-11-13 18:58:00
|
Update of /cvsroot/perl-win32-gui/Win32-GUI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24631 Modified Files: CHANGELOG GUI.pm GUI.xs GUI_MessageLoops.cpp MANIFEST Makefile.PL TODO Window.xs Log Message: Bug fixes; re-work of WIn32::GUI::Timer; preparing for 1.03 release Index: GUI.xs =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.xs,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** GUI.xs 5 Oct 2005 22:20:48 -0000 1.45 --- GUI.xs 13 Nov 2005 18:57:52 -0000 1.46 *************** *** 43,60 **** ########################################################################## # (@)METHOD:GetAsyncKeyState(key) ! # Retrieve the status of the specified virtual key. The status ! # specifies whether the key is up, down, or toggled (on, off-- ! # alternating each time the key is pressed). # ! # keyCode -- If a..z0..9, use the ASCII code. Otherwise, use # a virtual key code. Example: VK_SHIFT # # Return 1 if the key is depressed, 0 if it's not. - # LONG GetAsyncKeyState(key) int key CODE: ! RETVAL = GetAsyncKeyState(key) & 1; OUTPUT: RETVAL --- 43,58 ---- ########################################################################## # (@)METHOD:GetAsyncKeyState(key) ! # Retrieve the status of the specified virtual key at the time the function ! # is called. The status specifies whether the key is up or down. # ! # keyCode -- If A..Z0..9, use the ASCII code. Otherwise, use # a virtual key code. Example: VK_SHIFT # # Return 1 if the key is depressed, 0 if it's not. LONG GetAsyncKeyState(key) int key CODE: ! RETVAL = (GetAsyncKeyState(key) & 0x8000) >>16; OUTPUT: RETVAL *************** *** 1627,1630 **** --- 1625,1652 ---- XSRETURN_UNDEF; } + + ########################################################################### + # (@)INTERNAL:GetWindowObject() + # Returns the perl window object from a window handle. If the window handle + # passed is a handle to a window created by Win32::GUI, returns the perl + # object reference, else returns undef. + void + GetWindowObject(handle) + HWND handle + PREINIT: + SV* SvObject; + PPCODE: + if (IsWindow(handle)) { + SvObject = SV_SELF_FROM_WINDOW(handle); + if (SvObject != NULL && SvROK(SvObject)) { + XPUSHs(SvObject); + } + else { + XSRETURN_UNDEF; + } + } + else { + XSRETURN_UNDEF; + } ########################################################################### Index: Makefile.PL =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Makefile.PL,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Makefile.PL 5 Oct 2005 22:20:49 -0000 1.13 --- Makefile.PL 13 Nov 2005 18:57:52 -0000 1.14 *************** *** 234,237 **** --- 234,248 ---- } + # Remove the Test-More dependency from the PPD file, as it is not + # a requirement for a binary distribution + sub ppd { + my $inherited = shift->SUPER::ppd(@_); + #perl 5.6 + $inherited =~ s/qq\{\\t\\t<DEPENDENCY NAME=.*Test-More.*?\}\.//s; + #perl 5.8 + $inherited =~ s/^.*DEPENDENCY.*Test-More.*$//m; + return $inherited; + } + # In the following here-doc fragments, ensure that command lines are indented with TAB # and not space for gnu-make compatibility (cygwin) Index: GUI.pm =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.pm,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** GUI.pm 5 Oct 2005 22:20:48 -0000 1.33 --- GUI.pm 13 Nov 2005 18:57:52 -0000 1.34 *************** *** 25,29 **** # STATIC OBJECT PROPERTIES # ! $VERSION = "1.02_02"; # For MakeMaker $XS_VERSION = $VERSION; # For dynaloader $VERSION = eval $VERSION; # For Perl (see perldoc perlmodstyle) --- 25,29 ---- # STATIC OBJECT PROPERTIES # ! $VERSION = "1.02_03"; # For MakeMaker $XS_VERSION = $VERSION; # For dynaloader $VERSION = eval $VERSION; # For Perl (see perldoc perlmodstyle) *************** *** 2612,2622 **** # The triggered NEM event is defined as -onTimer => sub{} method of the parent window. package Win32::GUI::Timer; - @ISA = qw(Win32::GUI); ########################################################################### ! # (@)METHOD:new Win32::GUI::Timer(PARENT, NAME, ELAPSE) # Creates a new timer in the PARENT window named NAME that will # trigger its Timer() event after ELAPSE milliseconds. # Can also be called as PARENT->AddTimer(NAME, ELAPSE). sub new { my $class = shift; --- 2612,2632 ---- # The triggered NEM event is defined as -onTimer => sub{} method of the parent window. package Win32::GUI::Timer; ########################################################################### ! # (@)METHOD:new Win32::GUI::Timer(PARENT, [NAME, [ELAPSE]]) # Creates a new timer in the PARENT window named NAME that will # trigger its Timer() event after ELAPSE milliseconds. # Can also be called as PARENT->AddTimer(NAME, ELAPSE). + # + # If NAME is not supplied, then an internal name will be allocated. + # + # ELAPSE must by an integer greater than or equal to zero. If ELAPSE + # is 0, then the timer object is created, but the timer will be disabled. + # You can then start the timer by calling the L<Interval()|/Interval> method + # and setting ELAPSE to a non-zero number. If ELASPE is not supplied, then + # 0 will be used. + # + # Note: Different OS versions might change too low or large intervals for ELAPSE + # to more appropriate values. E.g. > 0x7fffffff or < 10 sub new { my $class = shift; *************** *** 2629,2643 **** # Get a new Id ! $id = $Win32::GUI::TimerIdCounter; ! $Win32::GUI::TimerIdCounter++; # Force a name if havent. $name = "_Timer".$id unless defined $name; ! $elapse = 10 unless defined $elapse; my $self = {}; bless($self, $class); ! # add $self->{name} $self->{-id} = $id; $self->{-name} = $name; --- 2639,2658 ---- # Get a new Id ! $id = $Win32::GUI::TimerIdCounter++; # Force a name if havent. $name = "_Timer".$id unless defined $name; ! $elapse = 0 unless defined $elapse; ! ! # check $elapse ! if($elapse != int($elapse) or $elapse < 0) { ! warn qq(ELAPSE must be an integer greater than or equal to 0, not "$elapse". Using ELAPSE=0.); ! $elapse = 0; ! } my $self = {}; bless($self, $class); ! # store object propeties $self->{-id} = $id; $self->{-name} = $name; *************** *** 2645,2658 **** $self->{-interval} = $elapse; ! # Store name in timers hash $window->{-timers}->{$id} = $name; # Add Timer into parent hash. $window->{$name} = $self; - # Only if perl is circular ref-safe - if ($] > 5.006) { - $self->{-window} = \$window; - } ! Win32::GUI::SetTimer($window, $id, $elapse); return $self; --- 2660,2669 ---- $self->{-interval} = $elapse; ! # Store name in parent's timers hash $window->{-timers}->{$id} = $name; # Add Timer into parent hash. $window->{$name} = $self; ! Win32::GUI::SetTimer($window, $id, $elapse) if $elapse > 0; return $self; *************** *** 2662,2692 **** # (@)METHOD:Interval(ELAPSE) # Get or set the periodic timer interval. Unit: ms ! # When setting a new interval, the existing timer is reseted. # ! # Note: Different OS versions might change too low or large intervals to more ! # appropriate values. E.g. > 0x7fffffff or < 10 sub Interval { my $self = shift; ! my $interval = shift; ! if(defined $interval) { ! if (!$interval) { # match Win32::GUI::Tutorial::Part4 ! $self->Kill(); ! } else { ! Win32::GUI::SetTimer($self->{-handle}, $self->{-id}, $interval); ! $self->{-interval} = $interval; ! } } else { ! return $self->{-interval}; } } ########################################################################### ! # (@)METHOD:Kill() # Remove the periodic timer event. # ! # To use system resources efficiently, applications should DESTROY or Kill # timers that are no longer necessary. sub Kill { ! Win32::GUI::Timer::DESTROY(shift); } --- 2673,2729 ---- # (@)METHOD:Interval(ELAPSE) # Get or set the periodic timer interval. Unit: ms ! # When setting a new interval, any existing timer is reset. When setting ! # returns the previous interval. # ! # Setting ELAPSE to 0 suspends the timer (i.e. it will not fire timer events). ! # The timer can be restarted later by setting ELAPSE to a positive value. ! # ! # Note: Different OS versions might change too low or large intervals for ELAPSE ! # to more appropriate values. E.g. > 0x7fffffff or < 10 sub Interval { my $self = shift; ! my $elapse = shift; ! ! #Get ! return $self->{-interval} unless defined $elapse; ! ! my $previous = $self->{-interval}; ! # check $elapse ! if($elapse != int($elapse) or $elapse < 0) { ! warn qq(ELAPSE must be an integer greater than or equal to 0, not "$elapse". Using previous value($previous ms)); ! $elapse = $previous; ! } ! $self->{-interval} = $elapse; ! if ($elapse > 0) { # match Win32::GUI::Tutorial::Part4 ! Win32::GUI::SetTimer($self->{-handle}, $self->{-id}, $elapse); } else { ! Win32::GUI::KillTimer($self->{-handle}, $self->{-id}); } + + return $previous; } ########################################################################### ! # (@)METHOD:Kill([REMOVE=0]) # Remove the periodic timer event. # ! # Kill() with no parameters, or a False parameter suspends the timer, ! # exactly as $timer->Interval(0); In this case it return the previous ! # interval. ! # ! # Kill() with a True parameter will stop and remove all traces of the timer. ! # To use system resources efficiently, applications should Kill(1) # timers that are no longer necessary. sub Kill { ! my $self = shift; ! my $remove = shift; ! ! if($remove) { ! $self->DESTROY(); ! } ! else { ! return $self->Interval(0); ! } ! return undef; } *************** *** 2695,2712 **** sub DESTROY { my $self = shift; - if ( defined $self && - defined $self->{-handle} && - defined $self->{-id} ) { - # Kill timer - Win32::GUI::KillTimer($self->{-handle}, $self->{-id}); ! if (defined $self->{-window}) { ! my $window = ${$self->{-window}}; ! # Remove id from timers hash if not yet triggered ! delete $window->{-timers}->{$self->{-id}} ! if ref($window) and defined $window->{-timers}->{$self->{-id}}; ! # Remove name from parent ! delete $window->{$self->{-name}} if defined $window; ! } } } --- 2732,2748 ---- sub DESTROY { my $self = shift; ! # Kill timer ! Win32::GUI::KillTimer($self->{-handle}, $self->{-id}); ! ! # We put this code to tidy up the parent here, rather than ! # in Timer->Kill(1), so that we still tidy up, even in the ! # unlikely event of someone doing PARENT->{Timer name} = undef; ! my $window = Win32::GUI::GetWindowObject($self->{-handle}); ! if(defined $window) { ! # Remove id from -timers hash ! delete $window->{-timers}->{$self->{-id}}; ! # Remove name from parent ! delete $window->{$self->{-name}}; } } Index: CHANGELOG =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/CHANGELOG,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -d -r1.65 -r1.66 *** CHANGELOG 16 Oct 2005 08:03:19 -0000 1.65 --- CHANGELOG 13 Nov 2005 18:57:52 -0000 1.66 *************** *** 6,9 **** --- 6,25 ---- Win32-GUI ChangeLog =================== + + [Robert May] : 13 Nov 2005 - Bug fixes and preparing for 1.03 release + - Makefile.PL added code to remove Test::More dependence from PPD + - GUI_MessageLoops.cpp, Window.xs change all mouse related handlers to + use GET_X_LPARAM and GET_Y_LPARAM rather than HIWORD and LOWORD + (Tracker: 1262098) + - GUI.xs added INTERNAL function GetWindowObject to get the perl window + object from a window handle + - GUI.pm, t\05_Timer*.t, docs\GUI\Tutorial\Part4.pod - re-wrote + Win32::GUI::Timer implementation and updated docs to make it all + consistent, and to make destruction happen correctly. Added full tests + for the package. + - GUI.xs fixed GetAsyncKeyState(), which was checking the wrong bit of + window's return value. Updated documentation. + - MANIFEST updated with new samples and new tests + - GUI.pm upped version to 1.02_03 + + [Jeremy White] : Bug fix - not enough space malloc'ed for strings - Combobox.xs: added 1 to safemalloc Index: MANIFEST =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/MANIFEST,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** MANIFEST 4 Aug 2005 22:57:34 -0000 1.9 --- MANIFEST 13 Nov 2005 18:57:52 -0000 1.10 *************** *** 68,71 **** --- 68,72 ---- MANIFEST.SKIP MDI.xs + META.yml MonthCal.xs NotifyIcon.xs *************** *** 82,86 **** --- 83,89 ---- samples/EventModel.pl samples/GetOpenFileName.pl + samples/guiperl.ico samples/harrow.cur + samples/listview_drag_drop.pl samples/MDI.pl samples/MonthCal.pl *************** *** 88,91 **** --- 91,110 ---- samples/Region.pl samples/SplashScreen.pl + samples/Tutorial_Part1_hello1.pl + samples/Tutorial_Part1_hello2.pl + samples/Tutorial_Part1_hello3.pl + samples/Tutorial_Part1_hello4.pl + samples/Tutorial_Part1_hello5.pl + samples/Tutorial_Part1_hello6.pl + samples/Tutorial_Part2_framework.pl + samples/Tutorial_Part3_DialogBox.pl + samples/Tutorial_Part4_NotifyIcon.pl + samples/Tutorial_Part4_StatusBar.pl + samples/Tutorial_Part4_timer.pl + samples/Tutorial_Part5_modalWindow.pl + samples/Tutorial_Part5_popupWindow1.pl + samples/Tutorial_Part5_popupWindow2.pl + samples/Tutorial_Part5_twoWindows.pl + samples/Tutorial_Part9_noDosWindow.pl Splitter.xs StatusBar.xs *************** *** 96,100 **** t/05_AcceleratorTable.t t/05_Menu.t ! t/05_Timer.t t/06_Cursor.t t/06_Icon.t --- 115,123 ---- t/05_AcceleratorTable.t t/05_Menu.t ! t/05_Timer_01_OEM.t ! t/05_Timer_02_NEM.t ! t/05_Timer_03_Interval.t ! t/05_Timer_04_Kill.t ! t/05_Timer_05_DESTROY.t t/06_Cursor.t t/06_Icon.t Index: Window.xs =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Window.xs,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Window.xs 3 Aug 2005 21:45:58 -0000 1.9 --- Window.xs 13 Nov 2005 18:57:52 -0000 1.10 *************** *** 396,401 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL1, "LButtonDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 396,401 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL1, "LButtonDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 408,413 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL2, "LButtonUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 408,413 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL2, "LButtonUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 420,425 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL3, "RButtonDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 420,425 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL3, "RButtonDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 432,437 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL4, "RButtonUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 432,437 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL4, "RButtonUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); Index: TODO =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/TODO,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** TODO 1 Oct 2005 23:02:39 -0000 1.12 --- TODO 13 Nov 2005 18:57:52 -0000 1.13 *************** *** 11,15 **** - Documentation: - - review and update the tutorial - revise and correct FAQ - any TBD sections --- 11,14 ---- *************** *** 41,46 **** to turn off Win32::GUI warnings. (see -DW32G_NEWWARN) - - Tutorial docs: code all the examples, and make sure they work before each release. - - Makefile.PL. Add code to fail at Makefile.PL stage if the chosen compiler is not available, and we autodetected from $Config{cc}. This will prevent us getting --- 40,43 ---- Index: GUI_MessageLoops.cpp =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI_MessageLoops.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** GUI_MessageLoops.cpp 1 Oct 2005 18:00:39 -0000 1.14 --- GUI_MessageLoops.cpp 13 Nov 2005 18:57:52 -0000 1.15 *************** *** 332,336 **** case WM_MOUSEMOVE: /* ! * (@)EVENT:MouseMouve() * (@)APPLIES_TO:* */ --- 332,336 ---- case WM_MOUSEMOVE: /* ! * (@)EVENT:MouseMove() * (@)APPLIES_TO:* */ *************** *** 347,352 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDOWN, "MouseDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 347,352 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDOWN, "MouseDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 358,363 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEUP, "MouseUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 358,363 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEUP, "MouseUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 369,374 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDBLCLK, "MouseDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 369,374 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDBLCLK, "MouseDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 380,385 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDOWN, "MouseRightDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 380,385 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDOWN, "MouseRightDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 391,396 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEUP, "MouseRightUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 391,396 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEUP, "MouseRightUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 402,407 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDBLCLK, "MouseRightDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 402,407 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDBLCLK, "MouseRightDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 413,418 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDOWN, "MouseMiddleDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 413,418 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDOWN, "MouseMiddleDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 424,429 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEUP, "MouseMiddleUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 424,429 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEUP, "MouseMiddleUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 435,440 **** */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDBLCLK, "MouseMiddleDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 435,440 ---- */ PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDBLCLK, "MouseMiddleDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 525,528 **** --- 525,534 ---- /* * (@)EVENT:Timer() + * Sent when a Win32::GUI::Timer object reaches its ELAPSEd time. + * For OEM the event is names $name_Timer. + * For NEM the subroutine called is set with the parent window's + * -onTimer option. There are 2 arguments passed to the NEM event handler: + * the first is the parent window object, and the second is the timer's + * name. * (@)APPLIES_TO:* */ *************** *** 830,835 **** case WM_LBUTTONDOWN: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDOWN, "MouseDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 836,841 ---- case WM_LBUTTONDOWN: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDOWN, "MouseDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 837,842 **** case WM_LBUTTONUP: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEUP, "MouseUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 843,848 ---- case WM_LBUTTONUP: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEUP, "MouseUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 844,849 **** case WM_LBUTTONDBLCLK: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDBLCLK, "MouseDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 850,855 ---- case WM_LBUTTONDBLCLK: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_LMOUSEDBLCLK, "MouseDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 851,856 **** case WM_RBUTTONDOWN: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDOWN, "MouseRightDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 857,862 ---- case WM_RBUTTONDOWN: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDOWN, "MouseRightDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 858,863 **** case WM_RBUTTONUP: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEUP, "MouseRightUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 864,869 ---- case WM_RBUTTONUP: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEUP, "MouseRightUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 865,870 **** case WM_RBUTTONDBLCLK: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDBLCLK, "MouseRightDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 871,876 ---- case WM_RBUTTONDBLCLK: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_RMOUSEDBLCLK, "MouseRightDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 872,877 **** case WM_MBUTTONDOWN: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDOWN, "MouseMiddleDown", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 878,883 ---- case WM_MBUTTONDOWN: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDOWN, "MouseMiddleDown", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 879,884 **** case WM_MBUTTONUP: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEUP, "MouseMiddleUp", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 885,890 ---- case WM_MBUTTONUP: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEUP, "MouseMiddleUp", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); *************** *** 886,891 **** case WM_MBUTTONDBLCLK: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDBLCLK, "MouseMiddleDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, LOWORD(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, HIWORD(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); --- 892,897 ---- case WM_MBUTTONDBLCLK: PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_MMOUSEDBLCLK, "MouseMiddleDblClick", ! PERLWIN32GUI_ARGTYPE_LONG, GET_X_LPARAM(lParam), ! PERLWIN32GUI_ARGTYPE_LONG, GET_Y_LPARAM(lParam), PERLWIN32GUI_ARGTYPE_LONG, wParam, -1); |