mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 756767 - Part 1: Simplify SourceSurfaceD2D and add DataSourceSurface support. r=jrmuizel
This commit is contained in:
parent
d6881666b8
commit
b04ba2bf25
@ -311,7 +311,7 @@ class DataSourceSurface : public SourceSurface
|
||||
public:
|
||||
virtual SurfaceType GetType() const { return SURFACE_DATA; }
|
||||
/* Get the raw bitmap data of the surface */
|
||||
virtual unsigned char *GetData() = 0;
|
||||
virtual uint8_t *GetData() = 0;
|
||||
/*
|
||||
* Stride of the surface, distance in bytes between the start of the image
|
||||
* data belonging to row y and row y+1. This may be negative.
|
||||
@ -810,7 +810,7 @@ public:
|
||||
*/
|
||||
static TemporaryRef<DataSourceSurface>
|
||||
CreateDataSourceSurface(const IntSize &aSize, SurfaceFormat aFormat);
|
||||
|
||||
|
||||
/*
|
||||
* This creates a simple data source surface for some existing data. It will
|
||||
* wrap this data and the data for this source surface. The caller is
|
||||
@ -818,7 +818,7 @@ public:
|
||||
* surface.
|
||||
*/
|
||||
static TemporaryRef<DataSourceSurface>
|
||||
CreateDataSourceSurfaceFromData(unsigned char *aData, int32_t aStride,
|
||||
CreateWrappingDataSourceSurface(uint8_t *aData, int32_t aStride,
|
||||
const IntSize &aSize, SurfaceFormat aFormat);
|
||||
|
||||
#ifdef WIN32
|
||||
|
@ -258,25 +258,7 @@ DrawTargetD2D::DrawSurface(SourceSurface *aSurface,
|
||||
bitmap = srcSurf->GetBitmap();
|
||||
|
||||
if (!bitmap) {
|
||||
if (aSource.width > rt->GetMaximumBitmapSize() ||
|
||||
aSource.height > rt->GetMaximumBitmapSize()) {
|
||||
gfxDebug() << "Bitmap source larger than texture size specified. DrawBitmap will silently fail.";
|
||||
// Don't know how to deal with this yet.
|
||||
return;
|
||||
}
|
||||
|
||||
int stride = srcSurf->GetSize().width * BytesPerPixel(srcSurf->GetFormat());
|
||||
|
||||
unsigned char *data = srcSurf->mRawData +
|
||||
(uint32_t)aSource.y * stride +
|
||||
(uint32_t)aSource.x * BytesPerPixel(srcSurf->GetFormat());
|
||||
|
||||
D2D1_BITMAP_PROPERTIES props =
|
||||
D2D1::BitmapProperties(D2D1::PixelFormat(DXGIFormat(srcSurf->GetFormat()), AlphaMode(srcSurf->GetFormat())));
|
||||
mRT->CreateBitmap(D2D1::SizeU(UINT32(aSource.width), UINT32(aSource.height)), data, stride, props, byRef(bitmap));
|
||||
|
||||
srcRect.x -= (uint32_t)aSource.x;
|
||||
srcRect.y -= (uint32_t)aSource.y;
|
||||
return;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -287,6 +269,30 @@ DrawTargetD2D::DrawSurface(SourceSurface *aSurface,
|
||||
AddDependencyOnSource(srcSurf);
|
||||
}
|
||||
break;
|
||||
case SURFACE_DATA:
|
||||
{
|
||||
DataSourceSurface *srcSurf = static_cast<DataSourceSurface*>(aSurface);
|
||||
if (aSource.width > rt->GetMaximumBitmapSize() ||
|
||||
aSource.height > rt->GetMaximumBitmapSize()) {
|
||||
gfxDebug() << "Bitmap source larger than texture size specified. DrawBitmap will silently fail.";
|
||||
// Don't know how to deal with this yet.
|
||||
return;
|
||||
}
|
||||
|
||||
int stride = srcSurf->Stride();
|
||||
|
||||
unsigned char *data = srcSurf->GetData() +
|
||||
(uint32_t)aSource.y * stride +
|
||||
(uint32_t)aSource.x * BytesPerPixel(srcSurf->GetFormat());
|
||||
|
||||
D2D1_BITMAP_PROPERTIES props =
|
||||
D2D1::BitmapProperties(D2D1::PixelFormat(DXGIFormat(srcSurf->GetFormat()), AlphaMode(srcSurf->GetFormat())));
|
||||
mRT->CreateBitmap(D2D1::SizeU(UINT32(aSource.width), UINT32(aSource.height)), data, stride, props, byRef(bitmap));
|
||||
|
||||
srcRect.x -= (uint32_t)aSource.x;
|
||||
srcRect.y -= (uint32_t)aSource.y;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
rt->DrawBitmap(bitmap, D2DRect(aDest), aOptions.mAlpha, D2DFilter(aSurfOptions.mFilter), D2DRect(srcRect));
|
||||
@ -1980,11 +1986,7 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
bitmap = surf->mBitmap;
|
||||
|
||||
if (!bitmap) {
|
||||
bitmap = CreatePartialBitmapForSurface(surf, mat);
|
||||
|
||||
if (!bitmap) {
|
||||
return NULL;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -1996,6 +1998,17 @@ DrawTargetD2D::CreateBrushForPattern(const Pattern &aPattern, Float aAlpha)
|
||||
AddDependencyOnSource(surf);
|
||||
}
|
||||
break;
|
||||
case SURFACE_DATA:
|
||||
{
|
||||
DataSourceSurface *dataSurf =
|
||||
static_cast<DataSourceSurface*>(pat->mSurface.get());
|
||||
bitmap = CreatePartialBitmapForSurface(dataSurf, mat);
|
||||
|
||||
if (!bitmap) {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
mRT->CreateBitmapBrush(bitmap,
|
||||
@ -2217,7 +2230,7 @@ DrawTargetD2D::CreateTextureForAnalysis(IDWriteGlyphRunAnalysis *aAnalysis, cons
|
||||
return tex;
|
||||
}
|
||||
TemporaryRef<ID2D1Bitmap>
|
||||
DrawTargetD2D::CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix &aMatrix)
|
||||
DrawTargetD2D::CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix &aMatrix)
|
||||
{
|
||||
RefPtr<ID2D1Bitmap> bitmap;
|
||||
|
||||
@ -2239,7 +2252,9 @@ DrawTargetD2D::CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix
|
||||
rect = invTransform.TransformBounds(rect);
|
||||
rect.RoundOut();
|
||||
|
||||
Rect uploadRect(0, 0, aSurface->mSize.width, aSurface->mSize.height);
|
||||
IntSize size = aSurface->GetSize();
|
||||
|
||||
Rect uploadRect(0, 0, size.width, size.height);
|
||||
|
||||
// Calculate the rectangle on the source bitmap that touches our
|
||||
// surface.
|
||||
@ -2251,24 +2266,25 @@ DrawTargetD2D::CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int stride = aSurface->Stride();
|
||||
|
||||
if (uploadRect.width <= mRT->GetMaximumBitmapSize() &&
|
||||
uploadRect.height <= mRT->GetMaximumBitmapSize()) {
|
||||
|
||||
int Bpp = BytesPerPixel(aSurface->mFormat);
|
||||
int stride = Bpp * aSurface->mSize.width;
|
||||
int Bpp = BytesPerPixel(aSurface->GetFormat());
|
||||
|
||||
// A partial upload will suffice.
|
||||
mRT->CreateBitmap(D2D1::SizeU(uint32_t(uploadRect.width), uint32_t(uploadRect.height)),
|
||||
aSurface->mRawData + int(uploadRect.x) * 4 + int(uploadRect.y) * stride,
|
||||
aSurface->GetData() + int(uploadRect.x) * 4 + int(uploadRect.y) * stride,
|
||||
stride,
|
||||
D2D1::BitmapProperties(D2DPixelFormat(aSurface->mFormat)),
|
||||
D2D1::BitmapProperties(D2DPixelFormat(aSurface->GetFormat())),
|
||||
byRef(bitmap));
|
||||
|
||||
aMatrix.Translate(uploadRect.x, uploadRect.y);
|
||||
|
||||
return bitmap;
|
||||
} else {
|
||||
int Bpp = BytesPerPixel(aSurface->mFormat);
|
||||
int Bpp = BytesPerPixel(aSurface->GetFormat());
|
||||
|
||||
if (Bpp != 4) {
|
||||
// This shouldn't actually happen in practice!
|
||||
@ -2276,15 +2292,13 @@ DrawTargetD2D::CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int stride = Bpp * aSurface->mSize.width;
|
||||
|
||||
ImageHalfScaler scaler(aSurface->mRawData, stride, IntSize(aSurface->mSize));
|
||||
ImageHalfScaler scaler(aSurface->GetData(), stride, size);
|
||||
|
||||
// Calculate the maximum width/height of the image post transform.
|
||||
Point topRight = transform * Point(aSurface->mSize.width, 0);
|
||||
Point topRight = transform * Point(size.width, 0);
|
||||
Point topLeft = transform * Point(0, 0);
|
||||
Point bottomRight = transform * Point(aSurface->mSize.width, aSurface->mSize.height);
|
||||
Point bottomLeft = transform * Point(0, aSurface->mSize.height);
|
||||
Point bottomRight = transform * Point(size.width, size.height);
|
||||
Point bottomLeft = transform * Point(0, size.height);
|
||||
|
||||
IntSize scaleSize;
|
||||
|
||||
@ -2307,10 +2321,10 @@ DrawTargetD2D::CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix
|
||||
|
||||
mRT->CreateBitmap(D2D1::SizeU(newSize.width, newSize.height),
|
||||
scaler.GetScaledData(), scaler.GetStride(),
|
||||
D2D1::BitmapProperties(D2DPixelFormat(aSurface->mFormat)),
|
||||
D2D1::BitmapProperties(D2DPixelFormat(aSurface->GetFormat())),
|
||||
byRef(bitmap));
|
||||
|
||||
aMatrix.Scale(aSurface->mSize.width / newSize.width, aSurface->mSize.height / newSize.height);
|
||||
aMatrix.Scale(size.width / newSize.width, size.height / newSize.height);
|
||||
return bitmap;
|
||||
}
|
||||
}
|
||||
|
@ -180,10 +180,10 @@ private:
|
||||
TemporaryRef<ID3D10Texture2D> CreateGradientTexture(const GradientStopsD2D *aStops);
|
||||
TemporaryRef<ID3D10Texture2D> CreateTextureForAnalysis(IDWriteGlyphRunAnalysis *aAnalysis, const IntRect &aBounds);
|
||||
|
||||
// This creates a partially uploaded bitmap for a SourceSurfaceD2D that is
|
||||
// too big to fit in a bitmap. It adjusts the passed Matrix to accomodate the
|
||||
// partial upload.
|
||||
TemporaryRef<ID2D1Bitmap> CreatePartialBitmapForSurface(SourceSurfaceD2D *aSurface, Matrix &aMatrix);
|
||||
// This creates a (partially) uploaded bitmap for a DataSourceSurface. It
|
||||
// uploads the minimum requirement and possibly downscales. It adjusts the
|
||||
// input Matrix to compensate.
|
||||
TemporaryRef<ID2D1Bitmap> CreatePartialBitmapForSurface(DataSourceSurface *aSurface, Matrix &aMatrix);
|
||||
|
||||
void SetupEffectForRadialGradient(const RadialGradientPattern *aPattern);
|
||||
void SetupStateForRendering();
|
||||
|
@ -37,6 +37,8 @@
|
||||
|
||||
#include "DrawTargetDual.h"
|
||||
|
||||
#include "SourceSurfaceRawData.h"
|
||||
|
||||
#include "Logging.h"
|
||||
|
||||
#ifdef PR_LOGGING
|
||||
@ -361,5 +363,19 @@ Factory::CreateDrawTargetForCairoSurface(cairo_surface_t* aSurface)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
TemporaryRef<DataSourceSurface>
|
||||
Factory::CreateWrappingDataSourceSurface(uint8_t *aData, int32_t aStride,
|
||||
const IntSize &aSize,
|
||||
SurfaceFormat aFormat)
|
||||
{
|
||||
RefPtr<SourceSurfaceRawData> newSurf = new SourceSurfaceRawData();
|
||||
|
||||
if (newSurf->InitWrappingData(aData, aSize, aStride, aFormat, false)) {
|
||||
return newSurf;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -132,16 +132,6 @@ static inline D2D1_PIXEL_FORMAT D2DPixelFormat(SurfaceFormat aFormat)
|
||||
return D2D1::PixelFormat(DXGIFormat(aFormat), AlphaMode(aFormat));
|
||||
}
|
||||
|
||||
static inline int BytesPerPixel(SurfaceFormat aFormat)
|
||||
{
|
||||
switch (aFormat) {
|
||||
case FORMAT_A8:
|
||||
return 1;
|
||||
default:
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
|
||||
static bool IsPatternSupportedByD2D(const Pattern &aPattern)
|
||||
{
|
||||
if (aPattern.GetType() != PATTERN_RADIAL_GRADIENT) {
|
||||
|
@ -43,6 +43,7 @@ CPPSRCS = \
|
||||
ScaledFontBase.cpp \
|
||||
DrawTargetDual.cpp \
|
||||
ImageScaling.cpp \
|
||||
SourceSurfaceRawData.cpp \
|
||||
$(NULL)
|
||||
|
||||
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
||||
|
@ -10,13 +10,11 @@ namespace mozilla {
|
||||
namespace gfx {
|
||||
|
||||
SourceSurfaceD2D::SourceSurfaceD2D()
|
||||
: mRawData(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
SourceSurfaceD2D::~SourceSurfaceD2D()
|
||||
{
|
||||
delete [] mRawData;
|
||||
}
|
||||
|
||||
IntSize
|
||||
@ -51,15 +49,8 @@ SourceSurfaceD2D::InitFromData(unsigned char *aData,
|
||||
|
||||
if ((uint32_t)aSize.width > aRT->GetMaximumBitmapSize() ||
|
||||
(uint32_t)aSize.height > aRT->GetMaximumBitmapSize()) {
|
||||
int newStride = BytesPerPixel(aFormat) * aSize.width;
|
||||
// This should only be called once!
|
||||
MOZ_ASSERT(!mRawData);
|
||||
mRawData = new uint8_t[aSize.height * newStride];
|
||||
for (int y = 0; y < aSize.height; y++) {
|
||||
memcpy(mRawData + y * newStride, aData + y * aStride, newStride);
|
||||
}
|
||||
gfxDebug() << "Bitmap does not fit in texture, saving raw data.";
|
||||
return true;
|
||||
gfxDebug() << "Bitmap does not fit in texture.";
|
||||
return false;
|
||||
}
|
||||
|
||||
D2D1_BITMAP_PROPERTIES props =
|
||||
|
@ -39,7 +39,6 @@ private:
|
||||
friend class DrawTargetD2D;
|
||||
|
||||
RefPtr<ID2D1Bitmap> mBitmap;
|
||||
uint8_t *mRawData;
|
||||
SurfaceFormat mFormat;
|
||||
IntSize mSize;
|
||||
};
|
||||
|
@ -208,7 +208,7 @@ DataSourceSurfaceD2DTarget::GetFormat() const
|
||||
return mFormat;
|
||||
}
|
||||
|
||||
unsigned char*
|
||||
uint8_t*
|
||||
DataSourceSurfaceD2DTarget::GetData()
|
||||
{
|
||||
EnsureMapped();
|
||||
|
@ -63,7 +63,7 @@ public:
|
||||
virtual SurfaceType GetType() const { return SURFACE_DATA; }
|
||||
virtual IntSize GetSize() const;
|
||||
virtual SurfaceFormat GetFormat() const;
|
||||
virtual unsigned char *GetData();
|
||||
virtual uint8_t *GetData();
|
||||
virtual int32_t Stride();
|
||||
|
||||
private:
|
||||
|
30
gfx/2d/SourceSurfaceRawData.cpp
Normal file
30
gfx/2d/SourceSurfaceRawData.cpp
Normal file
@ -0,0 +1,30 @@
|
||||
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "SourceSurfaceRawData.h"
|
||||
#include "Logging.h"
|
||||
#include "Tools.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
||||
bool
|
||||
SourceSurfaceRawData::InitWrappingData(uint8_t *aData,
|
||||
const IntSize &aSize,
|
||||
int32_t aStride,
|
||||
SurfaceFormat aFormat,
|
||||
bool aOwnData)
|
||||
{
|
||||
mRawData = aData;
|
||||
mSize = aSize;
|
||||
mStride = aStride;
|
||||
mFormat = aFormat;
|
||||
mOwnData = aOwnData;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
44
gfx/2d/SourceSurfaceRawData.h
Normal file
44
gfx/2d/SourceSurfaceRawData.h
Normal file
@ -0,0 +1,44 @@
|
||||
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef MOZILLA_GFX_SOURCESURFACERAWDATA_H_
|
||||
#define MOZILLA_GFX_SOURCESURFACERAWDATA_H_
|
||||
|
||||
#include "2D.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
||||
class SourceSurfaceRawData : public DataSourceSurface
|
||||
{
|
||||
public:
|
||||
SourceSurfaceRawData() {}
|
||||
~SourceSurfaceRawData() { if(mOwnData) delete [] mRawData; }
|
||||
|
||||
virtual uint8_t *GetData() { return mRawData; }
|
||||
virtual int32_t Stride() { return mStride; }
|
||||
|
||||
virtual SurfaceType GetType() const { return SURFACE_DATA; }
|
||||
virtual IntSize GetSize() const { return mSize; }
|
||||
virtual SurfaceFormat GetFormat() const { return mFormat; }
|
||||
|
||||
bool InitWrappingData(unsigned char *aData,
|
||||
const IntSize &aSize,
|
||||
int32_t aStride,
|
||||
SurfaceFormat aFormat,
|
||||
bool aOwnData);
|
||||
|
||||
private:
|
||||
uint8_t *mRawData;
|
||||
int32_t mStride;
|
||||
SurfaceFormat mFormat;
|
||||
IntSize mSize;
|
||||
bool mOwnData;
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* MOZILLA_GFX_SOURCESURFACERAWDATA_H_ */
|
@ -52,6 +52,19 @@ Distance(Point aA, Point aB)
|
||||
return hypotf(aB.x - aA.x, aB.y - aA.y);
|
||||
}
|
||||
|
||||
static inline int
|
||||
BytesPerPixel(SurfaceFormat aFormat)
|
||||
{
|
||||
switch (aFormat) {
|
||||
case FORMAT_A8:
|
||||
return 1;
|
||||
case FORMAT_R5G6B5:
|
||||
return 2;
|
||||
default:
|
||||
return 4;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,119 +1,121 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<ExecutablePath>$(DXSDK_DIR)\Utilities\bin\x86;$(ExecutablePath)</ExecutablePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>USE_SSE2;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);GFX_LOG_DEBUG;GFX_LOG_WARNING;MFBT_STAND_ALONE;XP_WIN</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EntryPointSymbol>
|
||||
</EntryPointSymbol>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>USE_SSE2;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="2D.h" />
|
||||
<ClInclude Include="BaseMargin.h" />
|
||||
<ClInclude Include="BasePoint.h" />
|
||||
<ClInclude Include="BaseRect.h" />
|
||||
<ClInclude Include="BaseSize.h" />
|
||||
<ClInclude Include="DrawTargetD2D.h" />
|
||||
<ClInclude Include="DrawTargetDual.h" />
|
||||
<ClInclude Include="GradientStopsD2D.h" />
|
||||
<ClInclude Include="HelpersD2D.h" />
|
||||
<ClInclude Include="ImageScaling.h" />
|
||||
<ClInclude Include="Logging.h" />
|
||||
<ClInclude Include="Matrix.h" />
|
||||
<ClInclude Include="PathD2D.h" />
|
||||
<ClInclude Include="Point.h" />
|
||||
<ClInclude Include="Rect.h" />
|
||||
<ClInclude Include="ScaledFontDWrite.h" />
|
||||
<ClInclude Include="SourceSurfaceD2D.h" />
|
||||
<ClInclude Include="SourceSurfaceD2DTarget.h" />
|
||||
<ClInclude Include="Tools.h" />
|
||||
<ClInclude Include="Types.h" />
|
||||
<ClInclude Include="UserData.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="DrawTargetD2D.cpp" />
|
||||
<ClCompile Include="DrawTargetDual.cpp" />
|
||||
<ClCompile Include="Factory.cpp" />
|
||||
<ClCompile Include="ImageScaling.cpp" />
|
||||
<ClCompile Include="ImageScalingSSE2.cpp" />
|
||||
<ClCompile Include="Matrix.cpp" />
|
||||
<ClCompile Include="PathD2D.cpp" />
|
||||
<ClCompile Include="ScaledFontDWrite.cpp" />
|
||||
<ClCompile Include="SourceSurfaceD2D.cpp" />
|
||||
<ClCompile Include="SourceSurfaceD2DTarget.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Makefile.in" />
|
||||
<CustomBuild Include="ShadersD2D.fx">
|
||||
<FileType>Document</FileType>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fxc /Tfx_4_0 /FhShadersD2D.h ShadersD2D.fx /Vn d2deffect</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ShadersD2D.h</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<ExecutablePath>$(DXSDK_DIR)\Utilities\bin\x86;$(ExecutablePath)</ExecutablePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>USE_SSE2;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions);GFX_LOG_DEBUG;GFX_LOG_WARNING;MFBT_STAND_ALONE;XP_WIN</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<Optimization>Disabled</Optimization>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EntryPointSymbol>
|
||||
</EntryPointSymbol>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>USE_SSE2;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="2D.h" />
|
||||
<ClInclude Include="BaseMargin.h" />
|
||||
<ClInclude Include="BasePoint.h" />
|
||||
<ClInclude Include="BaseRect.h" />
|
||||
<ClInclude Include="BaseSize.h" />
|
||||
<ClInclude Include="DrawTargetD2D.h" />
|
||||
<ClInclude Include="DrawTargetDual.h" />
|
||||
<ClInclude Include="GradientStopsD2D.h" />
|
||||
<ClInclude Include="HelpersD2D.h" />
|
||||
<ClInclude Include="ImageScaling.h" />
|
||||
<ClInclude Include="Logging.h" />
|
||||
<ClInclude Include="Matrix.h" />
|
||||
<ClInclude Include="PathD2D.h" />
|
||||
<ClInclude Include="Point.h" />
|
||||
<ClInclude Include="Rect.h" />
|
||||
<ClInclude Include="ScaledFontDWrite.h" />
|
||||
<ClInclude Include="SourceSurfaceD2D.h" />
|
||||
<ClInclude Include="SourceSurfaceD2DTarget.h" />
|
||||
<ClInclude Include="SourceSurfaceRawData.h" />
|
||||
<ClInclude Include="Tools.h" />
|
||||
<ClInclude Include="Types.h" />
|
||||
<ClInclude Include="UserData.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="DrawTargetD2D.cpp" />
|
||||
<ClCompile Include="DrawTargetDual.cpp" />
|
||||
<ClCompile Include="Factory.cpp" />
|
||||
<ClCompile Include="ImageScaling.cpp" />
|
||||
<ClCompile Include="ImageScalingSSE2.cpp" />
|
||||
<ClCompile Include="Matrix.cpp" />
|
||||
<ClCompile Include="PathD2D.cpp" />
|
||||
<ClCompile Include="ScaledFontDWrite.cpp" />
|
||||
<ClCompile Include="SourceSurfaceD2D.cpp" />
|
||||
<ClCompile Include="SourceSurfaceD2DTarget.cpp" />
|
||||
<ClCompile Include="SourceSurfaceRawData.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Makefile.in" />
|
||||
<CustomBuild Include="ShadersD2D.fx">
|
||||
<FileType>Document</FileType>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">fxc /Tfx_4_0 /FhShadersD2D.h ShadersD2D.fx /Vn d2deffect</Command>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ShadersD2D.h</Outputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user