Author: mlytwyn
Date: Mon May 30 21:39:08 2016
New Revision: 39822

URL: http://svn.gna.org/viewcvs/gnustep?rev=39822&view=rev
Log:
Fix compile warnings in gpbs.m

Modified:
    libs/back/branches/gnustep_testplant_branch/Source/win32/WIN32Server.m
    libs/back/branches/gnustep_testplant_branch/Tools/gpbs.m

Modified: libs/back/branches/gnustep_testplant_branch/Source/win32/WIN32Server.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/back/branches/gnustep_testplant_branch/Source/win32/WIN32Server.m?rev=39822&r1=39821&r2=39822&view=diff
==============================================================================
--- libs/back/branches/gnustep_testplant_branch/Source/win32/WIN32Server.m      
(original)
+++ libs/back/branches/gnustep_testplant_branch/Source/win32/WIN32Server.m      
Mon May 30 21:39:08 2016
@@ -2881,124 +2881,138 @@
   *cid = (void*)hCursor;
 }
 
+- (BITMAP) createBitmapFromImage: (NSImage*)image
+{
+  BITMAP bm = NULL;
+  
+  return(bm);
+}
+
+- (HICON) createIconFromImage: (NSImage*)image
+{
+  HICON icon = NULL;
+  
+  NSBitmapImageRep *rep = getStandardBitmap(image);
+  if (rep == nil)
+  {
+    /* FIXME: We might create a blank cursor here? */
+    NSWarnMLog(@"Could not convert cursor bitmap data");
+  }
+  else
+  {
+    if (hotp.x >= [rep pixelsWide])
+      hotp.x = [rep pixelsWide]-1;
+    
+    if (hotp.y >= [rep pixelsHigh])
+      hotp.y = [rep pixelsHigh]-1;
+    
+    int w = [rep pixelsWide];
+    int h = [rep pixelsHigh];
+    
+    // Create a windows bitmap from the image representation's bitmap...
+    if ((w > 0) && (h > 0))
+    {
+      BITMAP    bm;
+      HDC       hDC             = GetDC(NULL);
+      HDC       hMainDC         = CreateCompatibleDC(hDC);
+      HDC       hAndMaskDC      = CreateCompatibleDC(hDC);
+      HDC       hXorMaskDC      = CreateCompatibleDC(hDC);
+      HBITMAP   hAndMaskBitmap  = NULL;
+      HBITMAP   hXorMaskBitmap  = NULL;
+      
+      // Create the source bitmap...
+      HBITMAP hSourceBitmap = CreateBitmap(w, h, [rep numberOfPlanes], [rep 
bitsPerPixel], [rep bitmapData]);
+      
+      // Get the dimensions of the source bitmap
+      GetObject(hSourceBitmap, sizeof(BITMAP), &bm);
+      
+      // Create compatible bitmaps for the device context...
+      hAndMaskBitmap = CreateCompatibleBitmap(hDC, bm.bmWidth, bm.bmHeight);
+      hXorMaskBitmap = CreateCompatibleBitmap(hDC, bm.bmWidth, bm.bmHeight);
+      
+      // Select the bitmaps to DC
+      HBITMAP hOldMainBitmap    = (HBITMAP)SelectObject(hMainDC, 
hSourceBitmap);
+      HBITMAP hOldAndMaskBitmap = (HBITMAP)SelectObject(hAndMaskDC, 
hAndMaskBitmap);
+      HBITMAP hOldXorMaskBitmap = (HBITMAP)SelectObject(hXorMaskDC, 
hXorMaskBitmap);
+      
+      /* On windows, to calculate the color for a pixel, first an AND is done
+       * with the background and the "and" bitmap, then an XOR with the "xor"
+       * bitmap. This means that when the data in the "and" bitmap is 0, the
+       * pixel will get the color as specified in the "xor" bitmap.
+       * However, if the data in the "and" bitmap is 1, the result will be the
+       * background XOR'ed with the value in the "xor" bitmap. In case the 
"xor"
+       * data is completely black (0x000000) the pixel will become transparent,
+       * in case it's white (0xffffff) the pixel will become the inverse of the
+       * background color.
+       */
+      
+      // Scan each pixel of the souce bitmap and create the masks
+      int y;
+      int *pixel = (int*)[rep bitmapData];
+      for(y = 0; y < bm.bmHeight; ++y)
+      {
+        int x;
+        for (x = 0; x < bm.bmWidth; ++x)
+        {
+          if (*pixel++ == 0x00000000)
+          {
+            SetPixel(hAndMaskDC, x, y, RGB(255, 255, 255));
+            SetPixel(hXorMaskDC, x, y, RGB(0, 0, 0));
+          }
+          else
+          {
+            SetPixel(hAndMaskDC, x, y, RGB(0, 0, 0));
+            SetPixel(hXorMaskDC, x, y, GetPixel(hMainDC, x, y));
+          }
+        }
+      }
+      
+      // Reselect the old bitmap objects...
+      SelectObject(hMainDC, hOldMainBitmap);
+      SelectObject(hAndMaskDC, hOldAndMaskBitmap);
+      SelectObject(hXorMaskDC, hOldXorMaskBitmap);
+      
+      // Create the cursor from the generated and/xor data...
+      ICONINFO iconinfo = { 0 };
+      iconinfo.fIcon    = FALSE;
+      iconinfo.xHotspot = hotp.x;
+      iconinfo.yHotspot = hotp.y;
+      iconinfo.hbmMask  = hAndMaskBitmap;
+      iconinfo.hbmColor = hXorMaskBitmap;
+      
+      // Finally, try to create the cursor...
+      icon = CreateIconIndirect(&iconinfo);
+      
+      // Cleanup the DC's...
+      DeleteDC(hXorMaskDC);
+      DeleteDC(hAndMaskDC);
+      DeleteDC(hMainDC);
+      
+      // Cleanup the bitmaps...
+      DeleteObject(hXorMaskBitmap);
+      DeleteObject(hAndMaskBitmap);
+      DeleteObject(hSourceBitmap);
+      
+      // Release the screen HDC...
+      ReleaseDC(NULL,hDC);
+    }
+  }
+  
+  return(icon);
+}
+
 - (void) imagecursor: (NSPoint)hotp : (NSImage *)image : (void **)cid
 {
   if (cid)
     {
-      // Default the return cursur ID to NULL...
-      *cid = NULL;
-
-      NSBitmapImageRep *rep = getStandardBitmap(image);
-      if (rep == nil)
-        {
-          /* FIXME: We might create a blank cursor here? */
-          NSWarnMLog(@"Could not convert cursor bitmap data");
-}
+      // Try to create the cursor...
+      *cid = [self createIconFromImage: image];
+      
+      // Need to save these created cursors to remove later...
+      if (*cid == NULL)
+        NSWarnMLog(@"error creating cursor - status: %p", GetLastError());
       else
-        {
-          if (hotp.x >= [rep pixelsWide])
-            hotp.x = [rep pixelsWide]-1;
-
-          if (hotp.y >= [rep pixelsHigh])
-            hotp.y = [rep pixelsHigh]-1;
-          
-          int w = [rep pixelsWide];
-          int h = [rep pixelsHigh];
-          
-          // Create a windows bitmap from the image representation's bitmap...
-          if ((w > 0) && (h > 0))
-            {
-              BITMAP    bm;
-              HDC       hDC             = GetDC(NULL);
-              HDC       hMainDC         = CreateCompatibleDC(hDC);
-              HDC       hAndMaskDC      = CreateCompatibleDC(hDC);
-              HDC       hXorMaskDC      = CreateCompatibleDC(hDC);      
-              HBITMAP   hAndMaskBitmap  = NULL;
-              HBITMAP   hXorMaskBitmap  = NULL;
-              
-              // Create the source bitmap...
-              HBITMAP hSourceBitmap = CreateBitmap(w, h, [rep numberOfPlanes], 
[rep bitsPerPixel], [rep bitmapData]);
-              
-              // Get the dimensions of the source bitmap
-              GetObject(hSourceBitmap, sizeof(BITMAP), &bm);
-              
-              // Create compatible bitmaps for the device context...
-              hAndMaskBitmap = CreateCompatibleBitmap(hDC, bm.bmWidth, 
bm.bmHeight);
-              hXorMaskBitmap = CreateCompatibleBitmap(hDC, bm.bmWidth, 
bm.bmHeight);
-              
-              // Select the bitmaps to DC
-              HBITMAP hOldMainBitmap    = (HBITMAP)SelectObject(hMainDC, 
hSourceBitmap);
-              HBITMAP hOldAndMaskBitmap = (HBITMAP)SelectObject(hAndMaskDC, 
hAndMaskBitmap);
-              HBITMAP hOldXorMaskBitmap = (HBITMAP)SelectObject(hXorMaskDC, 
hXorMaskBitmap);
-              
-              /* On windows, to calculate the color for a pixel, first an AND 
is done
-               * with the background and the "and" bitmap, then an XOR with 
the "xor"
-               * bitmap. This means that when the data in the "and" bitmap is 
0, the
-               * pixel will get the color as specified in the "xor" bitmap.
-               * However, if the data in the "and" bitmap is 1, the result 
will be the
-               * background XOR'ed with the value in the "xor" bitmap. In case 
the "xor"
-               * data is completely black (0x000000) the pixel will become 
transparent,
-               * in case it's white (0xffffff) the pixel will become the 
inverse of the
-               * background color.
-               */
-
-              // Scan each pixel of the souce bitmap and create the masks
-              int y;
-              int *pixel = (int*)[rep bitmapData];
-              for(y = 0; y < bm.bmHeight; ++y)
-                {
-                  int x;
-                  for (x = 0; x < bm.bmWidth; ++x)
-                    {
-                      if (*pixel++ == 0x00000000)
-                        {
-                          SetPixel(hAndMaskDC, x, y, RGB(255, 255, 255));
-                          SetPixel(hXorMaskDC, x, y, RGB(0, 0, 0));
-                        }
-                      else
-                        {
-                          SetPixel(hAndMaskDC, x, y, RGB(0, 0, 0));
-                          SetPixel(hXorMaskDC, x, y, GetPixel(hMainDC, x, y));
-                        }
-                    }
-                }
-              
-              // Reselect the old bitmap objects...
-              SelectObject(hMainDC, hOldMainBitmap);
-              SelectObject(hAndMaskDC, hOldAndMaskBitmap);
-              SelectObject(hXorMaskDC, hOldXorMaskBitmap);
-              
-              // Create the cursor from the generated and/xor data...
-              ICONINFO iconinfo = { 0 };
-              iconinfo.fIcon    = FALSE;
-              iconinfo.xHotspot = hotp.x;
-              iconinfo.yHotspot = hotp.y;
-              iconinfo.hbmMask  = hAndMaskBitmap;
-              iconinfo.hbmColor = hXorMaskBitmap;
-              
-              // Finally, try to create the cursor...
-              *cid = CreateIconIndirect(&iconinfo);
-
-              // Cleanup the DC's...
-              DeleteDC(hXorMaskDC);
-              DeleteDC(hAndMaskDC);
-              DeleteDC(hMainDC);
-              
-              // Cleanup the bitmaps...
-              DeleteObject(hXorMaskBitmap);
-              DeleteObject(hAndMaskBitmap);
-              DeleteObject(hSourceBitmap);
-              
-              // Release the screen HDC...
-              ReleaseDC(NULL,hDC);
-              
-              // Need to save these created cursors to remove later...
-              [systemCursors setObject:[NSValue valueWithPointer:*cid] 
forKey:[NSValue valueWithPointer:*cid]];
-            }
-          
-          if (*cid == NULL)
-            NSWarnMLog(@"error creating cursor - status: %p", GetLastError());
-        }
+        [systemCursors setObject:[NSValue valueWithPointer:*cid] 
forKey:[NSValue valueWithPointer:*cid]];
     }
 }
 
@@ -3037,7 +3051,7 @@
   if (cursorId == NULL)
     {
       NSWarnMLog(@"trying to free a cursor not created by us: %p", cid);
-}
+    }
   else
     {
       // Remove the entry and destroy the cursor...

Modified: libs/back/branches/gnustep_testplant_branch/Tools/gpbs.m
URL: 
http://svn.gna.org/viewcvs/gnustep/libs/back/branches/gnustep_testplant_branch/Tools/gpbs.m?rev=39822&r1=39821&r2=39822&view=diff
==============================================================================
--- libs/back/branches/gnustep_testplant_branch/Tools/gpbs.m    (original)
+++ libs/back/branches/gnustep_testplant_branch/Tools/gpbs.m    Mon May 30 
21:39:08 2016
@@ -1236,7 +1236,7 @@
               {
                 if ([filemgr createDirectoryAtPath:filepath 
withIntermediateDirectories:YES attributes:nil error:&error] == NO)
                 {
-                  NSLog(@"%s:error creating path: %@ error: %@", 
__PRETTY_FUNCTION__, error);
+                  NSLog(@"%s:error creating path: %@ error: %@", 
__PRETTY_FUNCTION__, filepath, error);
                 }
               }
               
@@ -1284,7 +1284,7 @@
                     }
                   
                   if ([[NSUserDefaults standardUserDefaults] 
boolForKey:@"GSGPBSLoggingAttachPid"] == NO)
-                    filename = [filename 
stringByAppendingFormat:@"_%ld",getpid()];
+                    filename = [filename 
stringByAppendingFormat:@"_%ld",(long)getpid()];
 
                   NSString *outfile  = [filename 
stringByAppendingFormat:@"_out.log"];
                   NSString *outpath  = [filepath 
stringByAppendingPathComponent:outfile];


_______________________________________________
Gnustep-cvs mailing list
Gnustep-cvs@gna.org
https://mail.gna.org/listinfo/gnustep-cvs

Reply via email to