chromium/third_party/freetype-testing/src/fuzzing/src/visitors/facevisitor-colrv1.cpp

// facevisitor-colrv1.cpp
//
//   Finds and traverses COLRv1 glyphs using FreeType's
//   COLRv1 API.
//
// Copyright 2021 by
// Dominik Röttsches.
//
// This file is part of the FreeType project, and may only be used,
// modified, and distributed under the terms of the FreeType project
// license, LICENSE.TXT.  By continuing to use, modify, or distribute
// this file you indicate that you have read the license and
// understand and accept it fully.


#include "visitors/facevisitor-colrv1.h"

#include <cassert>
#include <unordered_set>

#include "utils/logging.h"

#include <freetype/freetype.h>
#include <freetype/ftcolor.h>


template<> struct std::hash<FT_OpaquePaint>
{};


template<> struct std::equal_to<FT_OpaquePaint>
{};


namespace {


  VisitedSet;


  constexpr unsigned long  MAX_TRAVERSE_GLYPHS =;


  class ScopedSetInserter
    : private freetype::noncopyable
  {};


  bool colrv1_start_glyph( const FT_Face&           ft_face,
                           uint16_t                 glyph_id,
                           FT_Color_Root_Transform  root_transform,
                           VisitedSet&              visited_set );


  void iterate_color_stops ( FT_Face                face,
                             FT_ColorStopIterator*  color_stop_iterator )
  {}


  void colrv1_draw_paint( FT_Face        face,
                          FT_COLR_Paint  colrv1_paint )
  {}


  bool colrv1_traverse_paint( FT_Face         face,
                              FT_OpaquePaint  opaque_paint,
                              VisitedSet&     visited_set )
  {}


  bool colrv1_start_glyph( const FT_Face&           ft_face,
                           uint16_t                 glyph_id,
                           FT_Color_Root_Transform  root_transform,
                           VisitedSet&              visited_set )
  {}
}


  void
  freetype::FaceVisitorColrV1::
  run( Unique_FT_Face  face )
  {}