tahoma2d/toonz/sources/toonzqt/plugin_param_interface.h

62 lines
2.1 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#ifndef PLUGIN_PARAM_INTERFACE
#define PLUGIN_PARAM_INTERFACE
#include "toonz_hostif.h"
#include "tparam.h"
#include "tfx.h"
#include "tfxparam.h"
#include "toonz_params.h"
/* ひとつのパラメータに対応 */
2016-06-15 18:43:10 +12:00
class Param {
TFx *fx_;
std::string name_;
toonz_param_type_enum type_;
// std::shared_ptr< toonz_param_desc_t > desc_;
toonz_param_desc_t *desc_;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
// inline Param(TFx* fx, const std::string& name, toonz_param_type_enum type,
// std::shared_ptr< toonz_param_desc_t >&& desc)
// : fx_(fx), name_(name), type_(type), desc_(std::move(desc)) {
inline Param(TFx *fx, const std::string &name, toonz_param_type_enum type,
const toonz_param_desc_t *desc)
: fx_(fx)
, name_(name)
, type_(type)
, desc_(const_cast<toonz_param_desc_t *>(desc)) {}
inline const std::string &name() const { return name_; }
inline toonz_param_type_enum type() const { return type_; }
inline TParamP param() const { return fx_->getParams()->getParam(name_); }
inline const toonz_param_desc_t *desc() const { return desc_; }
inline toonz_param_desc_t *desc() { return desc_; }
2016-03-19 06:57:51 +13:00
};
2016-06-15 18:43:10 +12:00
int hint_default_value(toonz_param_handle_t param, int size_in_bytes,
const void *default_value);
int hint_value_range(toonz_param_handle_t param, const void *minvalue,
const void *maxvalue);
2016-03-19 06:57:51 +13:00
int hint_unit(toonz_param_handle_t param, int unit);
int hint_item(toonz_param_handle_t param, int item, const char *caption);
int set_description(toonz_param_handle_t param, const char *description);
int get_type(toonz_param_handle_t param, double, int *, int *);
int get_value_type(toonz_param_handle_t param, int *pvalue_type);
2016-06-15 18:43:10 +12:00
int get_value(toonz_param_handle_t param, double frame, int *psize_in_bytes,
void *pvalue);
int set_value(toonz_param_handle_t param, double frame, int size_in_bytes,
const void *pvalue);
int get_string_value(toonz_param_handle_t param, int *wholesize, int rcvbufsize,
char *pvalue);
int get_spectrum_value(toonz_param_handle_t param, double frame, double x,
toonz_param_spectrum_t *pvalue);
2016-03-19 06:57:51 +13:00
#endif