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);