| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef HB_WRAPPERS_H_ |
| #define HB_WRAPPERS_H_ |
| |
| #include <hb-subset.h> |
| #include <memory> |
| |
| namespace HarfbuzzWrappers { |
| struct hb_blob_deleter { |
| void operator()(hb_blob_t* ptr) { hb_blob_destroy(ptr); } |
| }; |
| |
| struct hb_face_deleter { |
| void operator()(hb_face_t* ptr) { hb_face_destroy(ptr); } |
| }; |
| |
| struct hb_subset_input_deleter { |
| void operator()(hb_subset_input_t* ptr) { hb_subset_input_destroy(ptr); } |
| }; |
| |
| struct hb_set_deleter { |
| void operator()(hb_set_t* ptr) { hb_set_destroy(ptr); } |
| }; |
| |
| using HbBlobPtr = std::unique_ptr<hb_blob_t, hb_blob_deleter>; |
| using HbFacePtr = std::unique_ptr<hb_face_t, hb_face_deleter>; |
| using HbSubsetInputPtr = |
| std::unique_ptr<hb_subset_input_t, hb_subset_input_deleter>; |
| using HbSetPtr = std::unique_ptr<hb_set_t, hb_set_deleter>; |
| |
| }; // namespace HarfbuzzWrappers |
| |
| #endif // HB_WRAPPERS_H_s |