Files
GTASource/rage/scaleform/Src/GFxPlayer/GFxRenderConfig.cpp
expvintl 419f2e4752 init
2025-02-23 17:40:52 +08:00

100 lines
2.9 KiB
C++

/**********************************************************************
Filename : GFxRenderConfig.h
Content : Public SWF loading interface for GFxPlayer
Created : January 14, 2007
Authors : Michael Antonov
Notes :
Copyright : (c) 2005-2006 Scaleform Corp. All Rights Reserved.
Licensees may use this file in accordance with the valid Scaleform
Commercial License Agreement provided with the software.
This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING
THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR ANY PURPOSE.
**********************************************************************/
#include "GFxRenderConfig.h"
#include <string.h>
GFxRenderConfig::GFxRenderConfig()
: GFxState(State_RenderConfig)
{
MaxCurvePixelError = 1.0f;
memset(RenderFlags, 0, sizeof(RenderFlags));
StrokerAAWidth = 1.2f;
RendererCapBits = 0;
RendererVtxFmts = 0;
}
GFxRenderConfig::GFxRenderConfig(UInt rendererFlags,
UInt rendererCapBits,
UInt rendererVtxFmts)
: GFxState(State_RenderConfig)
{
MaxCurvePixelError = 1.0f;
for (unsigned i=0; i<NUMBER_OF_RENDER_THREADS; ++i) RenderFlags[i] = rendererFlags;
StrokerAAWidth = 1.2f;
RendererCapBits = rendererCapBits;
RendererVtxFmts = rendererVtxFmts;
}
GFxRenderConfig::GFxRenderConfig(GRenderer* prenderer, UInt rendererFlags)
: GFxState(State_RenderConfig)
{
MaxCurvePixelError = 1.0f;
for (unsigned i=0; i<NUMBER_OF_RENDER_THREADS; ++i) RenderFlags[i] = rendererFlags;
StrokerAAWidth = 1.2f;
RendererCapBits = 0;
RendererVtxFmts = 0;
// Call SetRenderer so that RendererCapBits are initalized properly.
SetRenderer(prenderer);
}
GFxRenderConfig::GFxRenderConfig(const GFxRenderConfig &src)
: GFxState(State_RenderConfig)
{
pRenderer = src.pRenderer;
RendererCapBits = src.RendererCapBits;
RendererVtxFmts = src.RendererVtxFmts;
MaxCurvePixelError = src.MaxCurvePixelError;
memcpy(RenderFlags, src.RenderFlags, sizeof(RenderFlags));
StrokerAAWidth = src.StrokerAAWidth;
}
GFxRenderConfig& GFxRenderConfig::operator = (const GFxRenderConfig &src)
{
pRenderer = src.pRenderer;
RendererCapBits = src.RendererCapBits;
RendererVtxFmts = src.RendererVtxFmts;
MaxCurvePixelError = src.MaxCurvePixelError;
memcpy(RenderFlags, src.RenderFlags, sizeof(RenderFlags));
StrokerAAWidth = src.StrokerAAWidth;
return *this;
}
void GFxRenderConfig::SetRenderer(GRenderer* prenderer)
{
GRenderer::RenderCaps rc;
pRenderer = prenderer;
if (prenderer)
{
prenderer->GetRenderCaps(&rc);
RendererCapBits = rc.CapBits;
RendererVtxFmts = rc.VertexFormats;
}
else
{
RendererCapBits = 0;
RendererVtxFmts = 0;
}
}