Files
Work/engine/TEXTURE.BAK
2024-08-07 09:16:27 -04:00

65 lines
1.5 KiB
Plaintext

#ifndef _ENGINE_TEXTURE_HPP_
#define _ENGINE_TEXTURE_HPP_
#ifndef _COMMON_VECTOR2D_HPP_
#include <common/vector2d.hpp>
#endif
#ifndef _ENGINE_VECTOR3D_HPP_
#include <engine/vector3d.hpp>
#endif
#ifndef _ENGINE_DEVICE3D_HPP_
#include <engine/device3d.hpp>
#endif
#ifndef _ENGINE_PUREEDGE_HPP_
#include <engine/pureedge.hpp>
#endif
#ifndef _ENGINE_PUREMAP_HPP_
#include <engine/puremap.hpp>
#endif
#ifndef _ENGINE_ASMUTIL_HPP_
#include <engine/asmutil.hpp>
#endif
class WINGBlt;
class DIBitmap;
class Bitmap;
class Texture
{
public:
typedef void (Texture::*PMFI)(long pixelPoint,long imagePoint);
Texture(const Vector3D &dstPoints,Bitmap &textureBitmap,Bitmap &displayBitmap,Device3D &displayDevice);
Texture(const Vector3D &dstPoints,Bitmap &textureBitmap,WINGBlt &displayBitmap,Device3D &displayDevice);
Texture(const Vector3D &dstPoints,Bitmap &textureBitmap,DIBitmap &displayBitmap,Device3D &displayDevice);
Texture(const Vector2D &dstPoints,Bitmap &textureBitmap,DIBitmap &displayBitmap);
virtual ~Texture();
void mapTexture(void);
private:
Texture &operator=(const Texture &someTexture);
PureEdge mLeftEdge;
PureEdge mRightEdge;
PureMap mEdgeMap;
Vector2D mTexturePoints;
Vector2D mDstPoints2D;
Vector3D mDstPoints3D;
};
inline
Texture &Texture::operator=(const Texture &/*someTexture*/)
{ // undefined
return *this;
}
inline
Texture::~Texture()
{
}
inline
void Texture::mapTexture(void)
{
::initEdge(-1,&mLeftEdge);
::initEdge(1,&mRightEdge);
::mapTexture(&mEdgeMap);
}
#endif