X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Fchromakeyhsv%2Fchromakey.h;h=51bcbcf75ab52997fb0580494f06d3d59da4befb;hb=3594cc12d62e8bf2c92e4e897aaf130645cbbc56;hp=01da1824a072c42cbd0fbfc5aed5c8914951a361;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/plugins/chromakeyhsv/chromakey.h b/cinelerra-5.1/plugins/chromakeyhsv/chromakey.h index 01da1824..51bcbcf7 100644 --- a/cinelerra-5.1/plugins/chromakeyhsv/chromakey.h +++ b/cinelerra-5.1/plugins/chromakeyhsv/chromakey.h @@ -2,21 +2,21 @@ /* * CINELERRA * Copyright (C) 2008 Adam Williams - * + * * 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. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * */ #ifndef CHROMAKEY_H @@ -45,13 +45,13 @@ class ChromaKeyConfig { public: ChromaKeyConfig(); - + void reset(); void copy_from(ChromaKeyConfig &src); int equivalent(ChromaKeyConfig &src); - void interpolate(ChromaKeyConfig &prev, - ChromaKeyConfig &next, - int64_t prev_frame, - int64_t next_frame, + void interpolate(ChromaKeyConfig &prev, + ChromaKeyConfig &next, + int64_t prev_frame, + int64_t next_frame, int64_t current_frame); int get_color(); @@ -79,9 +79,9 @@ public: class ChromaKeyColor : public BC_GenericButton { public: - ChromaKeyColor(ChromaKeyHSV *plugin, - ChromaKeyWindow *gui, - int x, + ChromaKeyColor(ChromaKeyHSV *plugin, + ChromaKeyWindow *gui, + int x, int y); int handle_event(); @@ -90,6 +90,16 @@ public: ChromaKeyWindow *gui; }; +class ChromaKeyReset : public BC_GenericButton +{ +public: + ChromaKeyReset(ChromaKeyHSV *plugin, ChromaKeyWindow *gui, int x, int y); + int handle_event(); + ChromaKeyHSV *plugin; + ChromaKeyWindow *gui; +}; + + class ChromaKeyMinBrightness : public BC_FSlider { @@ -182,7 +192,7 @@ public: }; -class ChromaKeyColorThread : public ColorThread +class ChromaKeyColorThread : public ColorPicker { public: ChromaKeyColorThread(ChromaKeyHSV *plugin, ChromaKeyWindow *gui); @@ -209,6 +219,8 @@ public: void create_objects(); void update_sample(); + void update_gui(); + void done_event(int result); ChromaKeyColor *color; ChromaKeyUseColorPicker *use_colorpicker; @@ -223,6 +235,7 @@ public: ChromaKeySpillThreshold *spill_threshold; ChromaKeySpillAmount *spill_amount; ChromaKeyShowMask *show_mask; + ChromaKeyReset *reset; BC_SubWindow *sample; ChromaKeyHSV *plugin; ChromaKeyColorThread *color_thread; @@ -271,7 +284,7 @@ class ChromaKeyHSV : public PluginVClient public: ChromaKeyHSV(PluginServer *server); ~ChromaKeyHSV(); - + PLUGIN_CLASS_MEMBERS(ChromaKeyConfig); int process_buffer(VFrame *frame, int64_t start_position,