Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
//  drawutil.h:
Toshihiro Shimizu 890ddd
//    Private header to common fuction in drawcurves.cpp and drawregions.cpp
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef DRAWUTIL_H
Toshihiro Shimizu 890ddd
#define DRAWUTIL_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tgl.h"
Toshihiro Shimizu 890ddd
//#include "traster.h"
Toshihiro Shimizu 890ddd
//#include "tcurves.h"
Toshihiro Shimizu 890ddd
//#include "tregion.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class TRegion;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#undef DVAPI
Toshihiro Shimizu 890ddd
#undef DVVAR
Toshihiro Shimizu 890ddd
#ifdef TVECTORIMAGE_EXPORTS
Toshihiro Shimizu 890ddd
#define DVAPI DV_EXPORT_API
Toshihiro Shimizu 890ddd
#define DVVAR DV_EXPORT_VAR
Toshihiro Shimizu 890ddd
#else
Toshihiro Shimizu 890ddd
#define DVAPI DV_IMPORT_API
Toshihiro Shimizu 890ddd
#define DVVAR DV_IMPORT_VAR
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//=============================================================================
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//! structure with information about texture to create
Toshihiro Shimizu 890ddd
struct TextureInfoForGL {
Toshihiro Shimizu 890ddd
	//  GLenum target,
Toshihiro Shimizu 890ddd
	//  GLint level,
Toshihiro Shimizu 890ddd
	GLint internalformat;
Toshihiro Shimizu 890ddd
	GLsizei width;
Toshihiro Shimizu 890ddd
	GLsizei height;
Toshihiro Shimizu 890ddd
	// GLint border,
Toshihiro Shimizu 890ddd
	GLenum format;
Toshihiro Shimizu 890ddd
	GLenum type;
Toshihiro Shimizu 890ddd
	const GLvoid *pixels;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//=============================================================================
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
/**
Toshihiro Shimizu 890ddd
 *
Toshihiro Shimizu 890ddd
 */
Toshihiro Shimizu 890ddd
DVAPI TRasterP prepareTexture(const TRasterP &ras,
Toshihiro Shimizu 890ddd
							  TextureInfoForGL &texinfo);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
/**
Toshihiro Shimizu 890ddd
 *
Toshihiro Shimizu 890ddd
 */
Toshihiro Shimizu 890ddd
DVAPI double computeStep(const TStroke &s,
Toshihiro Shimizu 890ddd
						 double pixelSize);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
/**
Toshihiro Shimizu 890ddd
 *  Draw stroke centerline between parameters from and to.
Toshihiro Shimizu 890ddd
 */
Toshihiro Shimizu 890ddd
DVAPI void drawStrokeCenterline(const TStroke &stroke,
Toshihiro Shimizu 890ddd
								double pixelSize,
Toshihiro Shimizu 890ddd
								double from = 0.0,
Toshihiro Shimizu 890ddd
								double to = 1.0);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 3bfa54
DVAPI void stroke2polyline(std::vector<tpointd> &pnts,</tpointd>
Toshihiro Shimizu 890ddd
						   const TStroke &stroke,
Toshihiro Shimizu 890ddd
						   double pixelSize,
Toshihiro Shimizu 890ddd
						   double w0 = 0.0,
Toshihiro Shimizu 890ddd
						   double w1 = 1.0,
Toshihiro Shimizu 890ddd
						   bool lastRepeatable = false);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 3bfa54
DVAPI void region2polyline(std::vector<t3dpointd> &pnts,</t3dpointd>
Toshihiro Shimizu 890ddd
						   const TRegion *region,
Toshihiro Shimizu 890ddd
						   double pixeSize);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
DVAPI TStroke *makeEllipticStroke(double thick,
Toshihiro Shimizu 890ddd
								  TPointD center,
Toshihiro Shimizu 890ddd
								  double radiusX,
Toshihiro Shimizu 890ddd
								  double radiusY);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif // DRAWUTIL_H
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
//  End Of File
Toshihiro Shimizu 890ddd
//-----------------------------------------------------------------------------