]> git.sesse.net Git - casparcg/commitdiff
[text_producer] Removed unused member function measure_string()
authorHelge Norberg <helge.norberg@svt.se>
Tue, 4 Apr 2017 12:53:26 +0000 (14:53 +0200)
committerHelge Norberg <helge.norberg@svt.se>
Tue, 4 Apr 2017 12:53:26 +0000 (14:53 +0200)
core/producer/text/text_producer.cpp
core/producer/text/text_producer.h
core/producer/text/utils/texture_font.cpp
core/producer/text/utils/texture_font.h
modules/psd/psd_scene_producer.cpp

index 3bf3a097bbf8fdb6441846f9a29026e5cea46bae..dc7e0e0774ea8b479b9602e02231f0b5b2768643 100644 (file)
@@ -210,11 +210,6 @@ public:
                frame_ = core::draw_frame(std::move(frame));
        }
 
-       text::string_metrics measure_string(const std::wstring& str)
-       {
-               return font_.measure_string(str);
-       }
-
        // frame_producer
 
        draw_frame receive_impl()
@@ -310,7 +305,6 @@ draw_frame text_producer::receive_impl() { return impl_->receive_impl(); }
 std::future<std::wstring> text_producer::call(const std::vector<std::wstring>& param) { return impl_->call(param); }
 variable& text_producer::get_variable(const std::wstring& name) { return impl_->get_variable(name); }
 const std::vector<std::wstring>& text_producer::get_variables() const { return impl_->get_variables(); }
-text::string_metrics text_producer::measure_string(const std::wstring& str) { return impl_->measure_string(str); }
 
 constraints& text_producer::pixel_constraints() { return impl_->pixel_constraints(); }
 std::wstring text_producer::print() const { return impl_->print(); }
index 05069cec5f6dcaf992d6c89a08198f65721dc44f..85eeb876910ff91fdea58253b409240960b794ca 100644 (file)
@@ -36,7 +36,7 @@
 #include "utils/text_info.h"
 
 namespace caspar { namespace core {
-       namespace text 
+       namespace text
        {
                void init(module_dependencies dependencies);
                std::vector<std::pair<std::wstring, std::wstring>> list_fonts();
@@ -45,17 +45,15 @@ namespace caspar { namespace core {
 class text_producer : public frame_producer_base
 {
 public:
-       text_producer(const spl::shared_ptr<frame_factory>& frame_factory, int x, int y, const std::wstring& str, 
+       text_producer(const spl::shared_ptr<frame_factory>& frame_factory, int x, int y, const std::wstring& str,
                text::text_info& text_info, long parent_width, long parent_height, bool standalone);
        static spl::shared_ptr<text_producer> create(const spl::shared_ptr<frame_factory>& frame_factory, int x, int y, const std::wstring& str, text::text_info& text_info, long parent_width, long parent_height, bool standalone = false);
-       
+
        draw_frame receive_impl() override;
        std::future<std::wstring> call(const std::vector<std::wstring>& param) override;
        variable& get_variable(const std::wstring& name) override;
        const std::vector<std::wstring>& get_variables() const override;
 
-       text::string_metrics measure_string(const std::wstring& str);
-
        constraints& pixel_constraints() override;
        std::wstring print() const override;
        std::wstring name() const override;
index 5a0421701e9078f797a1fd1ed827f4f4b49a58dc..615865efe3867aa40820df18f992ae138ab4e36e 100644 (file)
@@ -221,57 +221,6 @@ public:
                return result;
        }
 
-       string_metrics measure_string(const std::wstring& str)
-       {
-               string_metrics result;
-
-               bool use_kerning = (face_->face_flags & FT_FACE_FLAG_KERNING) == FT_FACE_FLAG_KERNING;
-               int index = 0;
-               FT_UInt previous = 0;
-               double pos_x = 0;
-//             float pos_y = 0;
-
-               auto end = str.end();
-               for(auto it = str.begin(); it != end; ++it, ++index)
-               {
-                       auto glyph_it = glyphs_.find(*it);
-                       if(glyph_it != glyphs_.end())
-                       {
-                               const glyph_info& coords = glyph_it->second;
-
-                               FT_UInt glyph_index = FT_Get_Char_Index(face_.get(), (*it));
-
-                               if(use_kerning && previous && glyph_index)
-                               {
-                                       FT_Vector delta;
-                                       FT_Get_Kerning(face_.get(), previous, glyph_index, FT_KERNING_DEFAULT, &delta);
-
-                                       pos_x += delta.x / 64.0;
-                               }
-
-                               FT_Load_Glyph(face_.get(), glyph_index, FT_LOAD_NO_BITMAP | FT_LOAD_FORCE_AUTOHINT | FT_LOAD_TARGET_NORMAL);
-
-                               int bearingY = face_->glyph->metrics.horiBearingY >> 6;
-                               if(bearingY > result.bearingY)
-                                       result.bearingY = bearingY;
-
-                               int protrudeUnderY = coords.height - bearingY;
-
-                               if (protrudeUnderY > result.protrudeUnderY)
-                                       result.protrudeUnderY = protrudeUnderY;
-
-                               if (result.bearingY + result.protrudeUnderY > result.height)
-                                        result.height = result.bearingY + result.protrudeUnderY;
-
-                               pos_x += face_->glyph->advance.x / 64.0;
-                               previous = glyph_index;
-                       }
-               }
-
-               result.width = (int)(pos_x+.5f);
-               return result;
-       }
-
        std::wstring get_name() const
        {
                return name_;
@@ -287,7 +236,6 @@ texture_font::texture_font(texture_atlas& atlas, const text_info& info, bool nor
 void texture_font::load_glyphs(unicode_block range, const color<double>& col) { impl_->load_glyphs(range, col); }
 void texture_font::set_tracking(double tracking) { impl_->set_tracking(tracking); }
 std::vector<frame_geometry::coord> texture_font::create_vertex_stream(const std::wstring& str, int x, int y, int parent_width, int parent_height, string_metrics* metrics, double shear) { return impl_->create_vertex_stream(str, x, y, parent_width, parent_height, metrics, shear); }
-string_metrics texture_font::measure_string(const std::wstring& str) { return impl_->measure_string(str); }
 std::wstring texture_font::get_name() const { return impl_->get_name(); }
 double texture_font::get_size() const { return impl_->get_size(); }
 
index 11855adfaee4c14957a94795a8a0388af44607cd..95f2bdf6e5380ae261a2a13460daf9af2140cbc2 100644 (file)
@@ -24,7 +24,6 @@ public:
        void load_glyphs(unicode_block block, const color<double>& col);
        void set_tracking(double tracking);
        std::vector<frame_geometry::coord> create_vertex_stream(const std::wstring& str, int x, int y, int parent_width, int parent_height, string_metrics* metrics, double shear = 0.0);
-       string_metrics measure_string(const std::wstring& str);
        std::wstring get_name() const;
        double get_size() const;
 
index fb075ff9e6fb492fa7abf9160cbfdc06199cf65f..c9f8325f7b75a463845e22171c54c0855633e7c6 100644 (file)
@@ -451,7 +451,6 @@ spl::shared_ptr<core::frame_producer> create_psd_scene_producer(const core::fram
                                auto text_producer = core::text_producer::create(dependencies.frame_factory, 0, 0, str, text_info, doc.width(), doc.height());
                                //text_producer->pixel_constraints().width.set(psd_layer->size().width);
                                //text_producer->pixel_constraints().height.set(psd_layer->size().height);
-                               core::text::string_metrics metrics = text_producer->measure_string(str);
 
                                layer_producer = text_producer;
                                scene_layer = &current.scene()->create_layer(spl::make_shared_ptr(layer_producer), static_cast<int>(psd_layer->text_pos().x), static_cast<int>(psd_layer->text_pos().y), layer_name);