rodecomp/Source/Render/DX7/RendererDX7Operations.h
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

40 lines
1.4 KiB
C++

#ifndef RAGNAROK_SOURCE_RENDER_DX7_RENDERERDX7OPERATIONS_H
#define RAGNAROK_SOURCE_RENDER_DX7_RENDERERDX7OPERATIONS_H
#include <d3d.h>
#include <list>
#include <string>
class DeviceOwnerDX7;
struct RenderCommand;
struct LightmappedPrimitive;
struct RenderPrimitive;
class CTexture;
class CTextureDX7;
struct TextureDX7Context;
struct TextureBindingDX7;
struct RendererBackBuffer;
struct BitmapImage;
class IJL15Runtime;
class ResourceMgr;
struct TextureNames;
struct RendererDX7Operations {
DeviceOwnerDX7& owner;
IDirect3DDevice7* device;
void SetLighting(const float* direction, const float* diffuse, const float* ambient);
void ClearDepth(int clearColor);
void ClearWorld(unsigned color, int mode, unsigned char worldFlag, unsigned overlay);
void DrawPrimitive(RenderCommand* primitive);
void DrawLightmappedPrimitive(LightmappedPrimitive* primitive);
void SetTextureMode(int mode);
bool RenderToTexture(
int width, int height, const std::list<RenderPrimitive*>& primitives, CTexture*& texture, TextureDX7Context& context, TextureBindingDX7& binding
);
bool SaveBitmap(const char* filename, const BitmapImage& overlay, int width, int height, RendererBackBuffer& backBuffer);
bool SaveJpeg(const char* filename, const BitmapImage& overlay, int width, int height, RendererBackBuffer& backBuffer, IJL15Runtime& runtime);
bool SaveLogo(std::string filename, ResourceMgr& resources, TextureNames& names, IJL15Runtime& runtime);
};
#endif