OSDN Git Service

DTXMania089リリースに際してのtag付け。
[dtxmania/dtxmania.git] / 110401(DTXMania089) / SlimDXc_Jun2010(VC++2008) / source / direct2d / BitmapBrush.cpp
1 /*\r
2 * Copyright (c) 2007-2010 SlimDX Group\r
3\r
4 * Permission is hereby granted, free of charge, to any person obtaining a copy\r
5 * of this software and associated documentation files (the "Software"), to deal\r
6 * in the Software without restriction, including without limitation the rights\r
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
8 * copies of the Software, and to permit persons to whom the Software is\r
9 * furnished to do so, subject to the following conditions:\r
10\r
11 * The above copyright notice and this permission notice shall be included in\r
12 * all copies or substantial portions of the Software.\r
13\r
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
20 * THE SOFTWARE.\r
21 */\r
22 #include "stdafx.h"\r
23 \r
24 #include <d2d1.h>\r
25 #include <d2d1helper.h>\r
26 \r
27 #include "Direct2DException.h"\r
28 \r
29 #include "RenderTarget.h"\r
30 #include "BitmapBrush.h"\r
31 \r
32 const IID IID_ID2D1BitmapBrush = __uuidof(ID2D1BitmapBrush);\r
33 \r
34 using namespace System;\r
35 \r
36 namespace SlimDX\r
37 {\r
38 namespace Direct2D\r
39 {\r
40         BitmapBrush::BitmapBrush( RenderTarget^ renderTarget, SlimDX::Direct2D::Bitmap^ bitmap )\r
41         {\r
42                 ID2D1BitmapBrush *brush = NULL;\r
43 \r
44                 HRESULT hr = renderTarget->InternalPointer->CreateBitmapBrush( bitmap->InternalPointer, &brush );\r
45 \r
46                 if( RECORD_D2D( hr ).IsFailure )\r
47                         throw gcnew Direct2DException( Result::Last );\r
48 \r
49                 Construct( brush );\r
50         }\r
51 \r
52         BitmapBrush::BitmapBrush( RenderTarget^ renderTarget, SlimDX::Direct2D::Bitmap^ bitmap, BitmapBrushProperties bitmapBrushProperties )\r
53         {\r
54                 ID2D1BitmapBrush *brush = NULL;\r
55 \r
56                 HRESULT hr = renderTarget->InternalPointer->CreateBitmapBrush( bitmap->InternalPointer, reinterpret_cast<D2D1_BITMAP_BRUSH_PROPERTIES*>( &bitmapBrushProperties ),\r
57                         NULL, &brush );\r
58 \r
59                 if( RECORD_D2D( hr ).IsFailure )\r
60                         throw gcnew Direct2DException( Result::Last );\r
61 \r
62                 Construct( brush );\r
63         }\r
64 \r
65         BitmapBrush::BitmapBrush( RenderTarget^ renderTarget, SlimDX::Direct2D::Bitmap^ bitmap, BitmapBrushProperties bitmapBrushProperties, BrushProperties brushProperties )\r
66         {\r
67                 ID2D1BitmapBrush *brush = NULL;\r
68 \r
69                 HRESULT hr = renderTarget->InternalPointer->CreateBitmapBrush( bitmap->InternalPointer, reinterpret_cast<D2D1_BITMAP_BRUSH_PROPERTIES*>( &bitmapBrushProperties ),\r
70                         reinterpret_cast<D2D1_BRUSH_PROPERTIES*>( &brushProperties ), &brush );\r
71 \r
72                 if( RECORD_D2D( hr ).IsFailure )\r
73                         throw gcnew Direct2DException( Result::Last );\r
74 \r
75                 Construct( brush );\r
76         }\r
77 \r
78         SlimDX::Direct2D::Bitmap^ BitmapBrush::Bitmap::get()\r
79         {\r
80                 ID2D1Bitmap *bitmap = NULL;\r
81                 InternalPointer->GetBitmap( &bitmap );\r
82 \r
83                 return SlimDX::Direct2D::Bitmap::FromPointer( bitmap );\r
84         }\r
85 \r
86         void BitmapBrush::Bitmap::set( SlimDX::Direct2D::Bitmap^ value )\r
87         {\r
88                 InternalPointer->SetBitmap( value->InternalPointer );\r
89         }\r
90 \r
91         ExtendMode BitmapBrush::HorizontalExtendMode::get()\r
92         {\r
93                 return static_cast<ExtendMode>( InternalPointer->GetExtendModeX() );\r
94         }\r
95 \r
96         void BitmapBrush::HorizontalExtendMode::set( ExtendMode value )\r
97         {\r
98                 InternalPointer->SetExtendModeX( static_cast<D2D1_EXTEND_MODE>( value ) );\r
99         }\r
100 \r
101         ExtendMode BitmapBrush::VerticalExtendMode::get()\r
102         {\r
103                 return static_cast<ExtendMode>( InternalPointer->GetExtendModeY() );\r
104         }\r
105 \r
106         void BitmapBrush::VerticalExtendMode::set( ExtendMode value )\r
107         {\r
108                 InternalPointer->SetExtendModeY( static_cast<D2D1_EXTEND_MODE>( value ) );\r
109         }\r
110 \r
111         SlimDX::Direct2D::InterpolationMode BitmapBrush::InterpolationMode::get()\r
112         {\r
113                 return static_cast<SlimDX::Direct2D::InterpolationMode>( InternalPointer->GetInterpolationMode() );\r
114         }\r
115 \r
116         void BitmapBrush::InterpolationMode::set( SlimDX::Direct2D::InterpolationMode value )\r
117         {\r
118                 InternalPointer->SetInterpolationMode( static_cast<D2D1_BITMAP_INTERPOLATION_MODE>( value ) );\r
119         }\r
120 }\r
121 }