Toshihiro Shimizu 890ddd
//TODO: エフェクトの縮小表示時のアイコンのファイル名。要プラグインFxへの対応。ここに集めるのではなく、Fxに自己申告させるか、アイコン自体を無くす。 2016/1/12 shun_iwasawa
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef FXICONMANAGER_H
Toshihiro Shimizu 890ddd
#define FXICONMANAGER_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tcommon.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class QPixmap;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
namespace
Toshihiro Shimizu 890ddd
{
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
const struct {
Toshihiro Shimizu 890ddd
	const char *fxType;
Toshihiro Shimizu 890ddd
	const char *pixmapFilename;
Toshihiro Shimizu 890ddd
} fxTypeInfo[] = {
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	{"checkBoardFx", "fx_checkboard"},
Toshihiro Shimizu 890ddd
	{"colorCardFx", "fx_colorcard"},
Toshihiro Shimizu 890ddd
	{"STD_tileFx", "fx_tile"},
Toshihiro Shimizu 890ddd
	{"STD_blurFx", "fx_blur"},
Toshihiro Shimizu 890ddd
	{"STD_directionalBlurFx", "fx_directionalblur"},
Toshihiro Shimizu 890ddd
	{"STD_inoBlurFx", "fx_ino_blur"},
Toshihiro Shimizu 890ddd
	{"STD_inoMotionBlurFx", "fx_ino_motionblur"},
Toshihiro Shimizu 890ddd
	{"STD_inoRadialBlurFx", "fx_ino_radialblur"},
Toshihiro Shimizu 890ddd
	{"STD_inoSpinBlurFx", "fx_ino_spinblur"},
Toshihiro Shimizu 890ddd
	{"STD_localBlurFx", "fx_localblur"},
Toshihiro Shimizu 890ddd
	{"STD_motionBlurFx", "fx_motionblur"},
Toshihiro Shimizu 890ddd
	{"STD_radialBlurFx", "fx_radialblur"},
Toshihiro Shimizu 890ddd
	{"STD_rotationalBlurFx", "fx_spinblur"},
Toshihiro Shimizu 890ddd
	{"STD_freeDistortFx", "fx_freedistort"},
Toshihiro Shimizu 890ddd
	{"STD_inoWarphvFx", "fx_ino_warphv"},
Toshihiro Shimizu 890ddd
	{"STD_linearWaveFx", "fx_linearwave"},
Toshihiro Shimizu 890ddd
	{"STD_perlinNoiseFx", "fx_perlinnoise"},
Toshihiro Shimizu 890ddd
	{"STD_randomWaveFx", "fx_randomwave"},
Toshihiro Shimizu 890ddd
	{"STD_rippleFx", "fx_ripple"},
Toshihiro Shimizu 890ddd
	{"STD_warpFx", "fx_warp"},
Toshihiro Shimizu 890ddd
	{"STD_diamondGradientFx", "fx_diamondgradient"},
Toshihiro Shimizu 890ddd
	{"STD_fourPointsGradientFx", "fx_fourpoints"},
Toshihiro Shimizu 890ddd
	{"STD_linearGradientFx", "fx_lineargradient"},
Toshihiro Shimizu 890ddd
	{"STD_multiLinearGradientFx", "fx_multilineargradient"},
Toshihiro Shimizu 890ddd
	{"STD_multiRadialGradientFx", "fx_multiradialgradient"},
Toshihiro Shimizu 890ddd
	{"STD_radialGradientFx", "fx_radialgradient"},
Toshihiro Shimizu 890ddd
	{"STD_spiralFx", "fx_spiral"},
Toshihiro Shimizu 890ddd
	{"STD_squareGradientFx", "fx_squaregradient"},
Toshihiro Shimizu 890ddd
	{"STD_toneCurveFx", "fx_tonecurve"},
Toshihiro Shimizu 890ddd
	{"STD_inoChannelSelectorFx", "fx_ino_channelselector"},
Toshihiro Shimizu 890ddd
	{"STD_inoDensityFx", "fx_ino_density"},
Toshihiro Shimizu 890ddd
	{"STD_inohlsAddFx", "fx_ino_hlsadd"},
Toshihiro Shimizu 890ddd
	{"STD_inohlsAdjustFx", "fx_ino_hlsadjust"},
Toshihiro Shimizu 890ddd
	{"STD_inohsvAddFx", "fx_ino_hsvadd"},
Toshihiro Shimizu 890ddd
	{"STD_inohsvAdjustFx", "fx_ino_hsvadjust"},
Toshihiro Shimizu 890ddd
	{"STD_inoLevelAutoFx", "fx_ino_levelauto"},
Toshihiro Shimizu 890ddd
	{"STD_inoLevelAutoInCameraFx", "fx_ino_levelautoincamera"},
Toshihiro Shimizu 890ddd
	{"STD_inoLevelMasterFx", "fx_ino_levelmaster"},
Toshihiro Shimizu 890ddd
	{"STD_inoLevelrgbaFx", "fx_ino_levelrgba"},
Toshihiro Shimizu 890ddd
	{"STD_inoNegateFx", "fx_ino_negate"},
Toshihiro Shimizu 890ddd
	{"STD_localTransparencyFx", "fx_localtransparency"},
Toshihiro Shimizu 890ddd
	{"STD_multiToneFx", "fx_multitone"},
Toshihiro Shimizu 890ddd
	{"STD_premultiplyFx", "fx_premultiply"},
Toshihiro Shimizu 890ddd
	{"STD_rgbmCutFx", "fx_rgbmcut"},
Toshihiro Shimizu 890ddd
	{"STD_rgbmFadeFx", "fx_rgbmfade"},
Toshihiro Shimizu 890ddd
	{"STD_rgbmScaleFx", "fx_rgbmscale"},
Toshihiro Shimizu 890ddd
	{"STD_sharpenFx", "fx_sharpen"},
Toshihiro Shimizu 890ddd
	{"STD_fadeFx", "fx_transparency"},
Toshihiro Shimizu 890ddd
	{"STD_inoOverFx", "fx_ino_over"},
Toshihiro Shimizu 890ddd
	{"STD_inoCrossDissolveFx", "fx_ino_crossdissolve"},
Toshihiro Shimizu 890ddd
	{"STD_inoDarkenFx", "fx_ino_darken"},
Toshihiro Shimizu 890ddd
	{"STD_inoMultiplyFx", "fx_ino_multiply"},
Toshihiro Shimizu 890ddd
	{"STD_inoColorBurnFx", "fx_ino_colorburn"},
Toshihiro Shimizu 890ddd
	{"STD_inoLinearBurnFx", "fx_ino_linearburn"},
Toshihiro Shimizu 890ddd
	{"STD_inoDarkerColorFx", "fx_ino_darkercolor"},
Toshihiro Shimizu 890ddd
	{"STD_inoAddFx", "fx_ino_add"},
Toshihiro Shimizu 890ddd
	{"STD_inoLightenFx", "fx_ino_lighten"},
Toshihiro Shimizu 890ddd
	{"STD_inoScreenFx", "fx_ino_screen"},
Toshihiro Shimizu 890ddd
	{"STD_inoColorDodgeFx", "fx_ino_colordodge"},
Toshihiro Shimizu 890ddd
	{"STD_inoLinearDodgeFx", "fx_ino_lineardodge"},
Toshihiro Shimizu 890ddd
	{"STD_inoLighterColorFx", "fx_ino_lightercolor"},
Toshihiro Shimizu 890ddd
	{"STD_inoOverlayFx", "fx_ino_overlay"},
Toshihiro Shimizu 890ddd
	{"STD_inoSoftLightFx", "fx_ino_softlight"},
Toshihiro Shimizu 890ddd
	{"STD_inoHardLightFx", "fx_ino_hardlight"},
Toshihiro Shimizu 890ddd
	{"STD_inoVividLightFx", "fx_ino_vividlight"},
Toshihiro Shimizu 890ddd
	{"STD_inoLinearLightFx", "fx_ino_linearlight"},
Toshihiro Shimizu 890ddd
	{"STD_inoPinLightFx", "fx_ino_pinlight"},
Toshihiro Shimizu 890ddd
	{"STD_inoHardMixFx", "fx_ino_hardmix"},
Toshihiro Shimizu 890ddd
	{"STD_inoDivideFx", "fx_ino_divide"},
Toshihiro Shimizu 890ddd
	{"STD_inoSubtractFx", "fx_ino_subtract"},
Toshihiro Shimizu 890ddd
	{"STD_backlitFx", "fx_backlit"},
Toshihiro Shimizu 890ddd
	{"STD_bodyHighLightFx", "fx_bodyhighlight"},
Toshihiro Shimizu 890ddd
	{"STD_castShadowFx", "fx_castshadow"},
Toshihiro Shimizu 890ddd
	{"STD_glowFx", "fx_glow"},
Toshihiro Shimizu 890ddd
	{"STD_inoFogFx", "fx_ino_fog"},
Toshihiro Shimizu 890ddd
	{"STD_lightSpotFx", "fx_lightspot"},
Toshihiro Shimizu 890ddd
	{"STD_raylitFx", "fx_raylit"},
Toshihiro Shimizu 890ddd
	{"STD_targetSpotFx", "fx_targetspot"},
Toshihiro Shimizu 890ddd
	{"STD_hsvKeyFx", "fx_hsvkey"},
Toshihiro Shimizu 890ddd
	{"inFx", "fx_in"},
Toshihiro Shimizu 890ddd
	{"outFx", "fx_out"},
Toshihiro Shimizu 890ddd
	{"STD_rgbKeyFx", "fx_rgbkey"},
Toshihiro Shimizu 890ddd
	{"atopFx", "fx_visiblemattein"},
Toshihiro Shimizu 890ddd
	{"STD_dissolveFx", "fx_dissolve"},
Toshihiro Shimizu 890ddd
	{"STD_inohlsNoiseFx", "fx_ino_hlsnoise"},
Toshihiro Shimizu 890ddd
	{"STD_inohlsNoiseInCameraFx", "fx_ino_hlsnoiseincamera"},
Toshihiro Shimizu 890ddd
	{"STD_inohsvNoiseFx", "fx_ino_hsvnoise"},
Toshihiro Shimizu 890ddd
	{"STD_inohsvNoiseInCameraFx", "fx_ino_hsvnoiseincamera"},
Toshihiro Shimizu 890ddd
	{"STD_inoMedianFilterFx", "fx_ino_medianfilter"},
Toshihiro Shimizu 890ddd
	{"STD_noiseFx", "fx_noise"},
Toshihiro Shimizu 890ddd
	{"STD_saltpepperNoiseFx", "fx_saltpeppernoise"},
Toshihiro Shimizu 890ddd
	{"STD_cloudsFx", "fx_clouds"},
Toshihiro Shimizu 890ddd
	{"STD_inopnCloudsFx", "fx_ino_pnclouds"},
Toshihiro Shimizu 890ddd
	{"STD_particlesFx", "fx_particles"},
Toshihiro Shimizu 890ddd
	{"STD_colorEmbossFx", "fx_coloremboss"},
Toshihiro Shimizu 890ddd
	{"STD_embossFx", "fx_emboss"},
Toshihiro Shimizu 890ddd
	{"STD_inoMaxMinFx", "fx_ino_maxmin"},
Toshihiro Shimizu 890ddd
	{"STD_inoMotionWindFx", "fx_ino_motionwind"},
Toshihiro Shimizu 890ddd
	{"STD_posterizeFx", "fx_posterize"},
Toshihiro Shimizu 890ddd
	{"STD_solarizeFx", "fx_solarize"},
Toshihiro Shimizu 890ddd
	{"STD_artContourFx", "fx_artcontour"},
Toshihiro Shimizu 890ddd
	{"STD_calligraphicFx", "fx_calligraphic"},
Toshihiro Shimizu 890ddd
	{"STD_blendTzFx", "fx_blendtz"},
Toshihiro Shimizu 890ddd
	{"STD_externalPaletteFx", "fx_externalpalette"},
Toshihiro Shimizu 890ddd
	{"STD_outBorderFx", "fx_outline"},
Toshihiro Shimizu 890ddd
	{"STD_paletteFilterFx", "fx_palettefilter"},
Toshihiro Shimizu 890ddd
	{"STD_cornerPinFx", "fx_pinnedtexture"},
Toshihiro Shimizu 890ddd
	{"STD_textureFx", "fx_texture"},
Toshihiro Shimizu 890ddd
	{"STD_iwa_TileFx", "fx_iwa_tile"},
Toshihiro Shimizu 890ddd
	{"STD_iwa_MotionBlurFx", "fx_iwa_motionblur"},
Toshihiro Shimizu 890ddd
	{"STD_iwa_SpectrumFx", "fx_iwa_spectrum"},
Toshihiro Shimizu 890ddd
	{"STD_iwa_PerspectiveDistortFx", "fx_iwa_perspective_distort"},
Toshihiro Shimizu 890ddd
	{0, 0}};
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
class FxIconPixmapManager
Toshihiro Shimizu 890ddd
{ // singleton
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	std::map<std::string, qpixmap=""> m_pms;</std::string,>
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	FxIconPixmapManager();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
public:
Toshihiro Shimizu 890ddd
	static FxIconPixmapManager *instance();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
	const QPixmap &getFxIconPm(std::string type);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif