561 changes: 561 additions & 0 deletions src/datasources/tiff16source/tiff16source.cpp

Large diffs are not rendered by default.

113 changes: 113 additions & 0 deletions src/datasources/tiff16source/tiff16source.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
/***************************************************************************
* *
* copyright : (C) 2005 C. Barth Netterfield *
* netterfield@astro.utoronto.ca *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/


#ifndef TIFF16SOURCE_H
#define TIFF16SOURCE_H

#include <datasource.h>
#include <dataplugin.h>

class DataInterfaceTiff16Vector;
class DataInterfaceTiff16Matrix;

class Tiff16Source : public Kst::DataSource
{
Q_OBJECT

public:
Tiff16Source(Kst::ObjectStore *store, QSettings *cfg, const QString& filename, const QString& type, const QDomElement& e);

~Tiff16Source();

bool init();
virtual void reset();

Kst::Object::UpdateType internalDataSourceUpdate();

bool isEmpty() const;
QString fileType() const;

void save(QXmlStreamWriter &streamWriter);

virtual const QString& typeString() const;

class Config;

//int readScalar(double &S, const QString& scalar);
//int readString(QString &S, const QString& string);

private:
unsigned short *_z;
int _width;
int _height;
mutable Config *_config;

DataInterfaceTiff16Vector* iv;
DataInterfaceTiff16Matrix* im;
};


class Tiff16SourcePlugin : public QObject, public Kst::DataSourcePluginInterface {
Q_OBJECT
Q_INTERFACES(Kst::DataSourcePluginInterface)
Q_PLUGIN_METADATA(IID "com.kst.DataSourcePluginInterface/2.0")
public:
virtual ~Tiff16SourcePlugin() {}

virtual QString pluginName() const;
virtual QString pluginDescription() const;

virtual bool hasConfigWidget() const { return false; }

virtual Kst::DataSource *create(Kst::ObjectStore *store,
QSettings *cfg,
const QString &filename,
const QString &type,
const QDomElement &element) const;

virtual QStringList matrixList(QSettings *cfg,
const QString& filename,
const QString& type,
QString *typeSuggestion,
bool *complete) const;

virtual QStringList fieldList(QSettings *cfg,
const QString& filename,
const QString& type,
QString *typeSuggestion,
bool *complete) const;

virtual QStringList scalarList(QSettings *cfg,
const QString& filename,
const QString& type,
QString *typeSuggestion,
bool *complete) const;

virtual QStringList stringList(QSettings *cfg,
const QString& filename,
const QString& type,
QString *typeSuggestion,
bool *complete) const;

virtual int understands(QSettings *cfg, const QString& filename) const;

virtual bool supportsTime(QSettings *cfg, const QString& filename) const;

virtual QStringList provides() const;

virtual Kst::DataSourceConfigWidget *configWidget(QSettings *cfg, const QString& filename) const;
};


#endif
// vim: ts=2 sw=2 et
12 changes: 12 additions & 0 deletions src/datasources/tiff16source/tiff16source.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
TOPOUT_REL=../../..
include($$PWD/$$TOPOUT_REL/kst.pri)
include($$PWD/../../../datasourceplugin.pri)

TARGET = $$kstlib(kst2data_tiff16source)
INCLUDEPATH += $$OUTPUT_DIR/src/datasources/tiff16source/tmp

SOURCES += \
tiff16source.cpp

HEADERS += \
tiff16source.h
6 changes: 3 additions & 3 deletions src/libkstmath/palette.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ class KSTMATH_EXPORT Palette
*/
QRgb rgb(const int colorId) const{
if (colorId<0) {
return _rgb[0];
return _rgb[0] | 0xff000000;
} else if (colorId>=_count) {
return _rgb[_count-1];
return _rgb[_count-1] | 0xff000000;
} else {
return _rgb[colorId];
return _rgb[colorId] | 0xff000000;
}
}

Expand Down