update for HEAD-2003091401
[reactos.git] / subsys / win32k / objects / objconv.c
index fc8c8f9..ff7e6fb 100644 (file)
@@ -1,3 +1,23 @@
+/*
+ *  ReactOS W32 Subsystem
+ *  Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 ReactOS Team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+/* $Id$ */
+
 #undef WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #include <ddk/ntddk.h>
 #include <win32k/gdiobj.h>
 #include <win32k/pen.h>
 #include "../eng/objects.h"
+#include <include/object.h>
+#include <include/surface.h>
 
-#define NDEBUG
+//#define NDEBUG
 #include <win32k/debug1.h>
 
 
-PBRUSHOBJ PenToBrushObj(PDC dc, PENOBJ *pen)
+BRUSHOBJ*
+FASTCALL
+PenToBrushObj ( BRUSHOBJ *brush, PENOBJ *pen )
 {
-  BRUSHOBJ *BrushObj;
-  XLATEOBJ *RGBtoVGA16;
-
-  ASSERT( pen );
-
-  BrushObj = ExAllocatePool(NonPagedPool, sizeof(BRUSHOBJ));
-  BrushObj->iSolidColor = pen->logpen.lopnColor;
+  ASSERT ( pen );
+  ASSERT ( brush );
+  memset ( brush, 0, sizeof(BRUSHOBJ) );
+  if ( pen->logpen.lopnStyle == PS_NULL )
+    brush->logbrush.lbStyle = BS_NULL;
+  else
+    brush->iSolidColor = pen->logpen.lopnColor;
+  return brush;
+}
 
-  return BrushObj;
+BRUSHOBJ*
+FASTCALL
+HPenToBrushObj ( BRUSHOBJ *brush, HPEN hpen )
+{
+  PENOBJ *pen;
+  ASSERT ( hpen );
+  ASSERT ( brush );
+  pen = PENOBJ_LockPen(hpen);
+  ASSERT ( pen );
+  PenToBrushObj ( brush, pen );
+  PENOBJ_UnlockPen(hpen);
+  return brush;
 }
 
-HBITMAP BitmapToSurf(PBITMAPOBJ BitmapObj)
+HBITMAP FASTCALL BitmapToSurf(PBITMAPOBJ BitmapObj)
 {
   HBITMAP BitmapHandle;
 
+  ASSERT ( BitmapObj );
   if (NULL != BitmapObj->dib)
     {
     BitmapHandle = EngCreateBitmap(BitmapObj->size, BitmapObj->dib->dsBm.bmWidthBytes,
@@ -49,3 +87,4 @@ HBITMAP BitmapToSurf(PBITMAPOBJ BitmapObj)
 
   return BitmapHandle;
 }
+/* EOF */