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 10struct SkIRect; 11struct SkPoint; 12struct SkRect; 13typedef unsigned long DWORD; 14typedef DWORD COLORREF; 15typedef struct tagPOINT POINT; 16typedef struct tagRECT RECT; 17 18namespace skia { 19 20// Converts a Skia point to a Windows POINT. 21POINT SkPointToPOINT(const SkPoint& point); 22 23// Converts a Windows RECT to a Skia rect. 24SkRect 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. 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. 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. 41SK_API SkColor COLORREFToSkColor(COLORREF color); 42 43// Converts ARGB to COLORREFs (0BGR). 44SK_API COLORREF SkColorToCOLORREF(SkColor color); 45 46} // namespace skia 47 48#endif // SKIA_EXT_SKIA_UTILS_WIN_H_ 49 50