[Perl-win32-gui-cvscommit] Win32-GUI CHANGELOG,1.84,1.85 GUI.pm,1.45,1.46 GUI.xs,1.57,1.58

2006-06-01 Thread Robert May
Update of /cvsroot/perl-win32-gui/Win32-GUI
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7193

Modified Files:
CHANGELOG GUI.pm GUI.xs 
Log Message:
Enhanced resouce loaing for Icons/Bitmaps and Cursors

Index: GUI.xs
===
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.xs,v
retrieving revision 1.57
retrieving revision 1.58
diff -C2 -d -r1.57 -r1.58
*** GUI.xs  16 May 2006 18:57:25 -  1.57
--- GUI.xs  1 Jun 2006 19:46:11 -   1.58
***
*** 1448,1451 
--- 1448,1452 
  #my $hourglass=Win32::GUI::LoadCursor(32514);
  #
+ #NOTE: it is better to use Win32::GUI::Cursor->new(ID);
  void
  LoadCursor(ID)
***
*** 1482,1487 
  # (@)INTERNAL:LoadImage(FILENAME, [TYPE, X, Y, FLAGS])
  HBITMAP
! LoadImage(filename,iType=IMAGE_BITMAP,iX=0,iY=0,iFlags=LR_LOADFROMFILE)
! LPCTSTR filename
  UINT iType
  int iX
--- 1483,1488 
  # (@)INTERNAL:LoadImage(FILENAME, [TYPE, X, Y, FLAGS])
  HBITMAP
! LoadImage(filename,iType=IMAGE_BITMAP,iX=0,iY=0,iFlags=LR_DEFAULTCOLOR)
! SV *filename
  UINT iType
  int iX
***
*** 1490,1509 
  PREINIT:
  HINSTANCE moduleHandle;
! HBITMAP bitmap;
  CODE:
  moduleHandle = GetModuleHandle(NULL);
! // Attempt to load from current EXE:
! bitmap = (HBITMAP) LoadImage((HINSTANCE) moduleHandle, filename, iType, 
iX, iY, LR_DEFAULTCOLOR);
! // Try OEM ressource
! /* Can't use filename (a string pointer) as a resource id - should be 
able to use
!  * a filename like '#1' to get resource from EXE - TODO: test this
! if(bitmap == NULL) {
! bitmap = (HBITMAP) LoadImage((HINSTANCE) NULL, 
MAKEINTRESOURCE(filename), iType, iX, iY, LR_DEFAULTCOLOR);
  }
! */
! if(bitmap == NULL) {
! // Ok, that failed. So attempt to load from file:
! bitmap = (HBITMAP) LoadImage((HINSTANCE) NULL, filename, iType, iX, 
iY, iFlags);
  }
  RETVAL = bitmap;
  OUTPUT:
--- 1491,1554 
  PREINIT:
  HINSTANCE moduleHandle;
! HBITMAP bitmap = NULL;
  CODE:
+ /* Try to find the resource in the current EXE */
  moduleHandle = GetModuleHandle(NULL);
! 
! /* If filename looks like a string, attempt to load from current EXE: */
! if((bitmap ==NULL) && SvPOK(filename) && !(iFlags & LR_LOADFROMFILE)) {
! bitmap = (HBITMAP) LoadImage((HINSTANCE) moduleHandle,
! SvPV_nolen(filename), iType, iX, iY, iFlags);
  }
! 
! /* If filename looks like a number, try it as a resource id from the 
current EXE */
! if((bitmap == NULL) && SvIOK(filename) && !(iFlags & LR_LOADFROMFILE)) {
! bitmap = (HBITMAP) LoadImage((HINSTANCE) moduleHandle,
! MAKEINTRESOURCE(SvIV(filename)), iType, iX, iY, iFlags);
  }
+ 
+ /* Try to find the resource from GUI.dll */
+ moduleHandle = GetModuleHandle("GUI.dll");
+ 
+ /* If filename looks like a string, try it as a resource name from 
GUI.dll */
+ if((bitmap == NULL) && SvPOK(filename) && !(iFlags & LR_LOADFROMFILE)) {
+ bitmap = (HBITMAP) LoadImage((HINSTANCE) moduleHandle,
+ SvPV_nolen(filename), iType, iX, iY, iFlags);
+ }
+ 
+ /* If filename looks like a number, try it as a resource id from GUI.dll 
*/
+ if((bitmap == NULL) && SvIOK(filename) && !(iFlags & LR_LOADFROMFILE)) {
+ bitmap = (HBITMAP) LoadImage((HINSTANCE) moduleHandle,
+ MAKEINTRESOURCE(SvIV(filename)), iType, iX, iY, iFlags);
+ }
+ 
+ /* Try to load from file or as an OEM resource */
+ moduleHandle = NULL;
+ 
+ /* if filename looks like a string, try it as a file name */
+ if((bitmap == NULL) && SvPOK(filename)) {
+ bitmap = (HBITMAP) LoadImage((HINSTANCE) moduleHandle,
+ SvPV_nolen(filename), iType, iX, iY, iFlags|LR_LOADFROMFILE);
+ }
+ 
+ /* If filename looks like a number, try it as an OEM resource id */
+ if((bitmap == NULL) && SvIOK(filename) && !(iFlags & LR_LOADFROMFILE)) {
+ bitmap = (HBITMAP) LoadImage((HINSTANCE) moduleHandle,
+ MAKEINTRESOURCE(SvIV(filename)), iType, iX, iY, iFlags);
+ }
+ 
+ /* Finally, if it looks like a number, try it as a pre-defined resource */
+ if((bitmap == NULL) && SvIOK(filename)) {
+ if(iType == IMAGE_BITMAP) {
+ bitmap = LoadBitmap(NULL, MAKEINTRESOURCE(SvIV(filename)));
+ }
+ else if (iType == IMAGE_ICON) {
+ bitmap = LoadIcon(NULL, MAKEINTRESOURCE(SvIV(filename)));
+ }
+ else if (iType == IMAGE_CURSOR) {
+ bitmap = LoadCursor(NULL, MAKEINTRESOURCE(SvIV(filename)));
+ }
+ }
+ 
  RETVAL = bitmap;
  OUTPUT:

Index: GUI.pm
===
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.pm,v
retrieving revision 1.45
retrieving revision 1.46
d

[Perl-win32-gui-cvscommit] Win32-GUI/Win32-GUI-Constants Constants.PL,1.2,1.3 Tags.pm,1.2,1.3

2006-06-01 Thread Robert May
Update of /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-Constants
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7193/Win32-GUI-Constants

Modified Files:
Constants.PL Tags.pm 
Log Message:
Enhanced resouce loaing for Icons/Bitmaps and Cursors

Index: Constants.PL
===
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-Constants/Constants.PL,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Constants.PL16 May 2006 18:57:26 -  1.2
--- Constants.PL1 Jun 2006 19:46:12 -   1.3
***
*** 957,961 
  
  # ID for bitmaps (Toolbars)
- #TODO DOT TO HERE
  IDB_STD_SMALL_COLOR0   
  IDB_STD_LARGE_COLOR1   
--- 957,960 
***
*** 971,976 
  IDC_CROSS  32515   
  IDC_UPARROW32516   
- IDC_SIZE   32640   
- IDC_ICON   32641   
  IDC_SIZENWSE   32642   
  IDC_SIZENESW   32643   
--- 970,973 
***
*** 994,997 
--- 991,1055 
  IDI_INFORMATION32516   # IDI_ASTERISK
  
+ # Win32::GUI Icon
+ IDI_DEFAULTICON102
+ 
+ # Win32::GUI Cursors
+ IDC_HSPLIT 103
+ IDC_VSPLIT 104
+ 
+ # OEM Cursor IDs
+ OCR_NORMAL  32512
+ OCR_IBEAM   32513
+ OCR_WAIT32514
+ OCR_CROSS   32515
+ OCR_UP  32516
+ OCR_SIZENWSE32642
+ OCR_SIZENESW32643
+ OCR_SIZEWE  32644
+ OCR_SIZENS  32645
+ OCR_SIZEALL 32646
+ OCR_NO  32648
+ OCR_HAND32649
+ OCR_APPSTARTING 32650
+ 
+ # OEM Bitmap IDs
+ OBM_CLOSE   32754
+ OBM_UPARROW 32753
+ OBM_DNARROW 32752
+ OBM_RGARROW 32751
+ OBM_LFARROW 32750
+ OBM_REDUCE  32749
+ OBM_ZOOM32748
+ OBM_RESTORE 32747
+ OBM_REDUCED 32746
+ OBM_ZOOMD   32745
+ OBM_RESTORED32744
+ OBM_UPARROWD32743
+ OBM_DNARROWD32742
+ OBM_RGARROWD32741
+ OBM_LFARROWD32740
+ OBM_MNARROW 32739
+ OBM_COMBO   32738
+ OBM_UPARROWI32737
+ OBM_DNARROWI32736
+ OBM_RGARROWI32735
+ OBM_LFARROWI32734
+ OBM_SIZE32766
+ OBM_BTSIZE  32761
+ OBM_CHECK   32760
+ OBM_CHECKBOXES  32759
+ OBM_BTNCORNERS  32758
+ 
+ # OEM Icon IDs
+ OIC_SAMPLE  32512
+ OIC_HAND32513
+ OIC_QUES32514
+ OIC_BANG32515
+ OIC_NOTE32516
+ OIC_WINLOGO 32517
+ OIC_WARNING 32515   # OIC_BANG
+ OIC_ERROR   32513   # OIC_HAND
+ OIC_INFORMATION 32516   # OIC_NOTE
+ 
  # Listbox styles
  LBS_NOTIFY0x0001

Index: Tags.pm
===
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-Constants/Tags.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Tags.pm 16 May 2006 18:57:26 -  1.2
--- Tags.pm 1 Jun 2006 19:46:12 -   1.3
***
*** 82,96 
  accelerator => [ qw( ^VK_ ) ],
  animation   => [ qw( ^ACS_ ) ],
! bitmap  => [ qw() ],
  brush   => [ qw() ],
  button  => undef,
  class   => [ qw( ^COLOR_ ^CS_ ) ],
  combobox=> [ qw( ^CBS_ ^CBES_ ) ],
! cursor  => [ qw( ^IDC_ ) ],
  datetime=> [ qw( ^DTS_ ) ],
  dc  => undef,
  font=> [ qw() ],
  header  => [ qw( ^HDS_ ) ],
! icon=> [ qw( ^IDI_ ) ],
  imagelist   => [ qw( ^ILC_ ^ILD_ ^ILS_ ^CLR_NONE$ ^CLR_DEFAULT$ ^IMAGE_ ) 
],
  label   => [ qw( ^IMAGE_ ) ],
--- 82,96 
  accelerator => [ qw( ^VK_ ) ],
  animation   => [ qw( ^ACS_ ) ],
! bitmap  => [ qw( ^OBM_ ) ],
  brush   => [ qw() ],
  button  => undef,
  class   => [ qw( ^COLOR_ ^CS_ ) ],
  combobox=> [ qw( ^CBS_ ^CBES_ ) ],
! cursor  => [ qw( ^IDC_ ^OCR_ ) ],
  datetime=> [ qw( ^DTS_ ) ],
  dc  => undef,
  font=> [ qw() ],
  header  => [ qw( ^HDS_ ) ],
! icon=> [ qw( ^IDI_ ^OIC_ ) ],
  imagelist   => [ qw( ^ILC_ ^ILD_ ^ILS_ ^CLR_NONE$ ^CLR_DEFAULT$ ^IMAGE_ ) 
],
  label   => [ qw( ^IMAGE_ ) ],