#include <win32k.h>
#include <debug.h>
Go to the source code of this file.
|
ULONG | DIB_DoRop (ULONG Rop, ULONG Dest, ULONG Source, ULONG Pattern) |
|
VOID | Dummy_PutPixel (SURFOBJ *SurfObj, LONG x, LONG y, ULONG c) |
|
ULONG | Dummy_GetPixel (SURFOBJ *SurfObj, LONG x, LONG y) |
|
VOID | Dummy_HLine (SURFOBJ *SurfObj, LONG x1, LONG x2, LONG y, ULONG c) |
|
VOID | Dummy_VLine (SURFOBJ *SurfObj, LONG x, LONG y1, LONG y2, ULONG c) |
|
BOOLEAN | Dummy_BitBlt (PBLTINFO BltInfo) |
|
BOOLEAN | Dummy_StretchBlt (SURFOBJ *DestSurf, SURFOBJ *SourceSurf, SURFOBJ *PatternSurface, SURFOBJ *MaskSurf, RECTL *DestRect, RECTL *SourceRect, POINTL *MaskOrigin, BRUSHOBJ *Brush, POINTL *BrushOrign, XLATEOBJ *ColorTranslation, ROP4 Rop) |
|
BOOLEAN | Dummy_TransparentBlt (SURFOBJ *DestSurf, SURFOBJ *SourceSurf, RECTL *DestRect, RECTL *SourceRect, XLATEOBJ *ColorTranslation, ULONG iTransColor) |
|
BOOLEAN | Dummy_ColorFill (SURFOBJ *Dest, RECTL *DestRect, ULONG Color) |
|
BOOLEAN | Dummy_AlphaBlend (SURFOBJ *Dest, SURFOBJ *Source, RECTL *DestRect, RECTL *SourceRect, CLIPOBJ *ClipRegion, XLATEOBJ *ColorTranslation, BLENDOBJ *BlendObj) |
|
◆ NDEBUG
Definition at line 12 of file dib.c.
◆ DIB_DoRop()
Definition at line 92 of file dib.c.
93{
97static const ULONG ExpandDest[16] =
98 {
99 0x55555555 ,
100 0x555555AA ,
101 0x5555AA55 ,
102 0x5555AAAA ,
103 0x55AA5555 ,
104 0x55AA55AA ,
105 0x55AAAA55 ,
106 0x55AAAAAA ,
107 0xAA555555 ,
108 0xAA5555AA ,
109 0xAA55AA55 ,
110 0xAA55AAAA ,
111 0xAAAA5555 ,
112 0xAAAA55AA ,
113 0xAAAAAA55 ,
114 0xAAAAAAAA ,
115 };
116 static const ULONG ExpandSource[16] =
117 {
118 0x33333333 ,
119 0x333333CC ,
120 0x3333CC33 ,
121 0x3333CCCC ,
122 0x33CC3333 ,
123 0x33CC33CC ,
124 0x33CCCC33 ,
125 0x33CCCCCC ,
126 0xCC333333 ,
127 0xCC3333CC ,
128 0xCC33CC33 ,
129 0xCC33CCCC ,
130 0xCCCC3333 ,
131 0xCCCC33CC ,
132 0xCCCCCC33 ,
133 0xCCCCCCCC ,
134 };
135 static const ULONG ExpandPattern[16] =
136 {
137 0x0F0F0F0F ,
138 0x0F0F0FF0 ,
139 0x0F0FF00F ,
140 0x0F0FF0F0 ,
141 0x0FF00F0F ,
142 0x0FF00FF0 ,
143 0x0FF0F00F ,
144 0x0FF0F0F0 ,
145 0xF00F0F0F ,
146 0xF00F0FF0 ,
147 0xF00FF00F ,
148 0xF00FF0F0 ,
149 0xF0F00F0F ,
150 0xF0F00FF0 ,
151 0xF0F0F00F ,
152 0xF0F0F0F0 ,
153 };
154
155 Rop &=0xFF;
156 switch(Rop)
157 {
158
159
176 }
177
178
179 Rop |= (Rop << 24) | (Rop << 16) | (Rop << 8);
180
182 for (
i = 0;
i < 8;
i++)
183 {
184 ResultNibble = Rop & ExpandDest[Dest & 0xF] & ExpandSource[
Source & 0xF] & ExpandPattern[Pattern & 0xF];
185 Result |= (((ResultNibble & 0xFF000000) ? 0x8 : 0x0) | ((ResultNibble & 0x00FF0000) ? 0x4 : 0x0) |
186 ((ResultNibble & 0x0000FF00) ? 0x2 : 0x0) | ((ResultNibble & 0x000000FF) ? 0x1 : 0x0)) << (
i * 4);
187 Dest >>= 4;
189 Pattern >>= 4;
190 }
192}
#define R3_OPINDEX_SRCCOPY
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Referenced by BltMask(), DIB_1BPP_BitBlt(), DIB_24BPP_BitBlt(), DIB_4BPP_BitBlt(), and DIB_XXBPP_StretchBlt().
◆ Dummy_AlphaBlend()
◆ Dummy_BitBlt()
◆ Dummy_ColorFill()
◆ Dummy_GetPixel()
◆ Dummy_HLine()
◆ Dummy_PutPixel()
◆ Dummy_StretchBlt()
BOOLEAN Dummy_StretchBlt |
( |
SURFOBJ * |
DestSurf, |
|
|
SURFOBJ * |
SourceSurf, |
|
|
SURFOBJ * |
PatternSurface, |
|
|
SURFOBJ * |
MaskSurf, |
|
|
RECTL * |
DestRect, |
|
|
RECTL * |
SourceRect, |
|
|
POINTL * |
MaskOrigin, |
|
|
BRUSHOBJ * |
Brush, |
|
|
POINTL * |
BrushOrign, |
|
|
XLATEOBJ * |
ColorTranslation, |
|
|
ROP4 |
Rop |
|
) |
| |
◆ Dummy_TransparentBlt()
◆ Dummy_VLine()
◆ altnotmask
◆ DibFunctionsForBitmapFormat
Definition at line 20 of file dib.c.
Referenced by addItemFlood(), AlphaBltMask(), BltMask(), BltPatCopy(), CallDibBitBlt(), CallDibStretchBlt(), DIB_XXBPP_AlphaBlend(), DIB_XXBPP_FloodFillSolid(), DIB_XXBPP_StretchBlt(), EngAlphaBlend(), EngCopyBits(), EngLineTo(), EngTransparentBlt(), FillSolid(), IntEngGradientFillRect(), NEtoSW(), NWtoSE(), SEtoNW(), and SWtoNE().
◆ notmask