]> git.sesse.net Git - casparcg/blobdiff - accelerator/ogl/image/image_kernel.h
set svn:eol-style native on .h and .cpp files
[casparcg] / accelerator / ogl / image / image_kernel.h
index 58e20780c853c2d97571efbae4dee72c134fdcd8..fe4dc96e41df19e1d0c1934e37ec5070069c2850 100644 (file)
@@ -1,88 +1,88 @@
-/*\r
-* Copyright (c) 2011 Sveriges Television AB <info@casparcg.com>\r
-*\r
-* This file is part of CasparCG (www.casparcg.com).\r
-*\r
-* CasparCG is free software: you can redistribute it and/or modify\r
-* it under the terms of the GNU General Public License as published by\r
-* the Free Software Foundation, either version 3 of the License, or\r
-* (at your option) any later version.\r
-*\r
-* CasparCG is distributed in the hope that it will be useful,\r
-* but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-* GNU General Public License for more details.\r
-*\r
-* You should have received a copy of the GNU General Public License\r
-* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.\r
-*\r
-* Author: Robert Nagy, ronag89@gmail.com\r
-*/\r
-\r
-#pragma once\r
-\r
-#include <core/mixer/image/blend_modes.h>\r
-\r
-#include <common/enum_class.h>\r
-#include <common/memory.h>\r
-\r
-#include <core/frame/pixel_format.h>\r
-#include <core/frame/frame_transform.h>\r
-\r
-namespace caspar { namespace accelerator { namespace ogl {\r
-       \r
-struct keyer_def\r
-{\r
-       enum type\r
-       {\r
-               linear = 0,\r
-               additive,\r
-       };\r
-};\r
-typedef enum_class<keyer_def> keyer;\r
-\r
-struct draw_params sealed\r
-{\r
-       core::pixel_format_desc                                         pix_desc;\r
-       std::vector<spl::shared_ptr<class texture>>     textures;\r
-       core::image_transform                                           transform;\r
-       core::blend_mode                                                        blend_mode;\r
-       keyer                                                                           keyer;\r
-       std::shared_ptr<class texture>                          background;\r
-       std::shared_ptr<class texture>                          local_key;\r
-       std::shared_ptr<class texture>                          layer_key;\r
-\r
-       draw_params() \r
-               : pix_desc(core::pixel_format::invalid)\r
-               , blend_mode(core::blend_mode::normal)\r
-               , keyer(keyer::linear)\r
-       {\r
-       }\r
-};\r
-\r
-class image_kernel sealed\r
-{\r
-       image_kernel(const image_kernel&);\r
-       image_kernel& operator=(const image_kernel&);\r
-public:\r
-\r
-       // Static Members\r
-\r
-       // Constructors\r
-\r
-       image_kernel(const spl::shared_ptr<class device>& ogl);\r
-       ~image_kernel();\r
-\r
-       // Methods\r
-\r
-       void draw(const draw_params& params);\r
-       \r
-       // Properties\r
-\r
-       bool has_blend_modes() const;\r
-private:\r
-       struct impl;\r
-       spl::unique_ptr<impl> impl_;\r
-};\r
-\r
+/*
+* Copyright (c) 2011 Sveriges Television AB <info@casparcg.com>
+*
+* This file is part of CasparCG (www.casparcg.com).
+*
+* CasparCG 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 3 of the License, or
+* (at your option) any later version.
+*
+* CasparCG 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 CasparCG. If not, see <http://www.gnu.org/licenses/>.
+*
+* Author: Robert Nagy, ronag89@gmail.com
+*/
+
+#pragma once
+
+#include <core/mixer/image/blend_modes.h>
+
+#include <common/enum_class.h>
+#include <common/memory.h>
+
+#include <core/frame/pixel_format.h>
+#include <core/frame/frame_transform.h>
+
+namespace caspar { namespace accelerator { namespace ogl {
+       
+struct keyer_def
+{
+       enum type
+       {
+               linear = 0,
+               additive,
+       };
+};
+typedef enum_class<keyer_def> keyer;
+
+struct draw_params sealed
+{
+       core::pixel_format_desc                                         pix_desc;
+       std::vector<spl::shared_ptr<class texture>>     textures;
+       core::image_transform                                           transform;
+       core::blend_mode                                                        blend_mode;
+       keyer                                                                           keyer;
+       std::shared_ptr<class texture>                          background;
+       std::shared_ptr<class texture>                          local_key;
+       std::shared_ptr<class texture>                          layer_key;
+
+       draw_params() 
+               : pix_desc(core::pixel_format::invalid)
+               , blend_mode(core::blend_mode::normal)
+               , keyer(keyer::linear)
+       {
+       }
+};
+
+class image_kernel sealed
+{
+       image_kernel(const image_kernel&);
+       image_kernel& operator=(const image_kernel&);
+public:
+
+       // Static Members
+
+       // Constructors
+
+       image_kernel(const spl::shared_ptr<class device>& ogl);
+       ~image_kernel();
+
+       // Methods
+
+       void draw(const draw_params& params);
+       
+       // Properties
+
+       bool has_blend_modes() const;
+private:
+       struct impl;
+       spl::unique_ptr<impl> impl_;
+};
+
 }}}
\ No newline at end of file