1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef SKIA_EXT_SKIA_UTILS_WIN_H_ 6 #define SKIA_EXT_SKIA_UTILS_WIN_H_ 7 8 #include "third_party/skia/include/core/SkColor.h" 9 10 struct SkIRect; 11 struct SkPoint; 12 struct SkRect; 13 typedef unsigned long DWORD; 14 typedef DWORD COLORREF; 15 typedef struct tagPOINT POINT; 16 typedef struct tagRECT RECT; 17 18 namespace skia { 19 20 // Converts a Skia point to a Windows POINT. 21 POINT SkPointToPOINT(const SkPoint& point); 22 23 // Converts a Windows RECT to a Skia rect. 24 SkRect RECTToSkRect(const RECT& rect); 25 26 // Converts a Windows RECT to a Skia rect. 27 // Both use same in-memory format. Verified by COMPILE_ASSERT() in 28 // skia_utils.cc. RECTToSkIRect(const RECT & rect)29inline const SkIRect& RECTToSkIRect(const RECT& rect) { 30 return reinterpret_cast<const SkIRect&>(rect); 31 } 32 33 // Converts a Skia rect to a Windows RECT. 34 // Both use same in-memory format. Verified by COMPILE_ASSERT() in 35 // skia_utils.cc. SkIRectToRECT(const SkIRect & rect)36inline const RECT& SkIRectToRECT(const SkIRect& rect) { 37 return reinterpret_cast<const RECT&>(rect); 38 } 39 40 // Converts COLORREFs (0BGR) to the ARGB layout Skia expects. 41 SK_API SkColor COLORREFToSkColor(COLORREF color); 42 43 // Converts ARGB to COLORREFs (0BGR). 44 SK_API COLORREF SkColorToCOLORREF(SkColor color); 45 46 } // namespace skia 47 48 #endif // SKIA_EXT_SKIA_UTILS_WIN_H_ 49 50