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