2012-06-02 14:17:01 +00:00
|
|
|
#ifndef _PAYSAGES_QT_PREVIEWMATERIAL_H_
|
|
|
|
#define _PAYSAGES_QT_PREVIEWMATERIAL_H_
|
|
|
|
|
|
|
|
#include "basepreview.h"
|
2013-08-18 15:13:15 +00:00
|
|
|
#include "editing/common/previewrenderer.h"
|
2012-06-02 14:17:01 +00:00
|
|
|
|
2013-04-17 12:29:51 +00:00
|
|
|
#include "rendering/tools/lighting.h"
|
|
|
|
#include "rendering/renderer.h"
|
2012-06-02 14:17:01 +00:00
|
|
|
|
2013-08-18 15:13:15 +00:00
|
|
|
class MaterialPreviewRenderer:public PreviewRenderer {
|
|
|
|
Q_OBJECT
|
2012-06-02 14:17:01 +00:00
|
|
|
public:
|
2013-08-18 15:13:15 +00:00
|
|
|
MaterialPreviewRenderer(SurfaceMaterial* material);
|
|
|
|
~MaterialPreviewRenderer();
|
2013-01-16 14:26:46 +00:00
|
|
|
|
2013-08-18 15:13:15 +00:00
|
|
|
virtual void bindEvent(BasePreview* preview);
|
|
|
|
virtual Color getColor2D(double x, double y, double scaling);
|
2013-01-16 14:26:46 +00:00
|
|
|
|
2012-06-02 14:17:01 +00:00
|
|
|
private:
|
|
|
|
SurfaceMaterial* _material;
|
2013-01-20 17:00:17 +00:00
|
|
|
LightDefinition _light;
|
2013-08-17 13:10:17 +00:00
|
|
|
ColorProfile* _color_profile;
|
2012-06-02 14:17:01 +00:00
|
|
|
};
|
|
|
|
|
2013-08-18 15:13:15 +00:00
|
|
|
class SmallMaterialPreview:public QWidget
|
2012-06-02 14:17:01 +00:00
|
|
|
{
|
|
|
|
public:
|
2013-08-18 15:13:15 +00:00
|
|
|
SmallMaterialPreview(QWidget* parent, SurfaceMaterial* material);
|
|
|
|
|
|
|
|
Color getColor(double x, double y);
|
2013-01-16 14:26:46 +00:00
|
|
|
|
2012-06-02 14:17:01 +00:00
|
|
|
protected:
|
2013-08-18 15:13:15 +00:00
|
|
|
virtual void paintEvent(QPaintEvent* event);
|
2012-06-02 14:17:01 +00:00
|
|
|
|
|
|
|
private:
|
2013-08-18 15:13:15 +00:00
|
|
|
MaterialPreviewRenderer _renderer;
|
2012-06-02 14:17:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|