mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
Make spanfunc private and local to SpanDrawerArgs
This commit is contained in:
parent
81a20213a7
commit
36a23d60b8
4 changed files with 19 additions and 5 deletions
|
@ -65,6 +65,10 @@ namespace swrenderer
|
|||
basecolfunc = &SWPixelFormatDrawers::DrawColumn;
|
||||
fuzzcolfunc = &SWPixelFormatDrawers::DrawFuzzColumn;
|
||||
transcolfunc = &SWPixelFormatDrawers::DrawTranslatedColumn;
|
||||
}
|
||||
|
||||
SpanDrawerArgs::SpanDrawerArgs()
|
||||
{
|
||||
spanfunc = &SWPixelFormatDrawers::DrawSpan;
|
||||
}
|
||||
|
||||
|
@ -617,7 +621,7 @@ namespace swrenderer
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
void DrawerArgs::SetSpanStyle(bool masked, bool additive, fixed_t alpha)
|
||||
void SpanDrawerArgs::SetSpanStyle(bool masked, bool additive, fixed_t alpha)
|
||||
{
|
||||
if (masked)
|
||||
{
|
||||
|
@ -673,6 +677,11 @@ namespace swrenderer
|
|||
}
|
||||
}
|
||||
|
||||
void SpanDrawerArgs::DrawSpan()
|
||||
{
|
||||
(Drawers()->*spanfunc)(*this);
|
||||
}
|
||||
|
||||
void SpanDrawerArgs::DrawTiltedSpan(int y, int x1, int x2, const FVector3 &plane_sz, const FVector3 &plane_su, const FVector3 &plane_sv, bool plane_shade, int planeshade, float planelightfloat, fixed_t pviewx, fixed_t pviewy, FDynamicColormap *basecolormap)
|
||||
{
|
||||
Drawers()->DrawTiltedSpan(*this, y, x1, x2, plane_sz, plane_su, plane_sv, plane_shade, planeshade, planelightfloat, pviewx, pviewy, basecolormap);
|
||||
|
|
|
@ -46,7 +46,6 @@ namespace swrenderer
|
|||
|
||||
bool SetPatchStyle(FRenderStyle style, fixed_t alpha, int translation, uint32_t color, FDynamicColormap *&basecolormap, fixed_t shadedlightshade = 0);
|
||||
bool SetPatchStyle(FRenderStyle style, float alpha, int translation, uint32_t color, FDynamicColormap *&basecolormap, fixed_t shadedlightshade = 0);
|
||||
void SetSpanStyle(bool masked, bool additive, fixed_t alpha);
|
||||
|
||||
void SetColorMapLight(FSWColormap *base_colormap, float light, int shade);
|
||||
void SetTranslationMap(lighttable_t *translation);
|
||||
|
@ -63,7 +62,6 @@ namespace swrenderer
|
|||
ColumnDrawerFunc basecolfunc;
|
||||
ColumnDrawerFunc fuzzcolfunc;
|
||||
ColumnDrawerFunc transcolfunc;
|
||||
SpanDrawerFunc spanfunc;
|
||||
|
||||
uint32_t *dc_srcblend;
|
||||
uint32_t *dc_destblend;
|
||||
|
@ -144,8 +142,12 @@ namespace swrenderer
|
|||
class SpanDrawerArgs : public DrawerArgs
|
||||
{
|
||||
public:
|
||||
SpanDrawerArgs();
|
||||
|
||||
void SetSpanStyle(bool masked, bool additive, fixed_t alpha);
|
||||
void SetSpanTexture(FTexture *tex);
|
||||
|
||||
void DrawSpan();
|
||||
void DrawTiltedSpan(int y, int x1, int x2, const FVector3 &plane_sz, const FVector3 &plane_su, const FVector3 &plane_sv, bool plane_shade, int planeshade, float planelightfloat, fixed_t pviewx, fixed_t pviewy, FDynamicColormap *basecolormap);
|
||||
void DrawColoredSpan(int y, int x1, int x2);
|
||||
void DrawFogBoundaryLine(int y, int x1, int x2);
|
||||
|
@ -170,6 +172,9 @@ namespace swrenderer
|
|||
FVector3 dc_viewpos_step;
|
||||
TriLight *dc_lights = nullptr;
|
||||
int dc_num_lights = 0;
|
||||
|
||||
private:
|
||||
SpanDrawerFunc spanfunc;
|
||||
};
|
||||
|
||||
class ColumnDrawerArgs : public DrawerArgs
|
||||
|
|
|
@ -254,7 +254,7 @@ namespace swrenderer
|
|||
drawerargs.ds_x1 = x1;
|
||||
drawerargs.ds_x2 = x2;
|
||||
|
||||
(drawerargs.Drawers()->*drawerargs.spanfunc)(drawerargs);
|
||||
drawerargs.DrawSpan();
|
||||
}
|
||||
|
||||
void RenderFlatPlane::StepColumn()
|
||||
|
|
|
@ -1491,7 +1491,7 @@ void DCanvas::FillSimplePoly(FTexture *tex, FVector2 *points, int npoints,
|
|||
drawerargs.ds_xfrac = xs_RoundToInt(tex.X * scalex);
|
||||
drawerargs.ds_yfrac = xs_RoundToInt(tex.Y * scaley);
|
||||
|
||||
(drawerargs.Drawers()->*drawerargs.spanfunc)(drawerargs);
|
||||
drawerargs.DrawSpan();
|
||||
#endif
|
||||
}
|
||||
x += xinc;
|
||||
|
|
Loading…
Reference in a new issue