/* * Copyright 2011 Google Inc. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "sfntly/table/table_based_table_builder.h" namespace sfntly { /****************************************************************************** * TableBasedTableBuilder class ******************************************************************************/ TableBasedTableBuilder::~TableBasedTableBuilder() {} int32_t TableBasedTableBuilder::SubSerialize(WritableFontData* data) { UNREFERENCED_PARAMETER(data); return 0; } bool TableBasedTableBuilder::SubReadyToSerialize() { return false; } int32_t TableBasedTableBuilder::SubDataSizeToSerialize() { return 0; } void TableBasedTableBuilder::SubDataSet() { table_ = NULL; } CALLER_ATTACH FontDataTable* TableBasedTableBuilder::Build() { FontDataTablePtr table = static_cast(GetTable()); return table.Detach(); } TableBasedTableBuilder::TableBasedTableBuilder(Header* header, WritableFontData* data) : Table::Builder(header, data) { } TableBasedTableBuilder::TableBasedTableBuilder(Header* header, ReadableFontData* data) : Table::Builder(header, data) { } TableBasedTableBuilder::TableBasedTableBuilder(Header* header) : Table::Builder(header) { } Table* TableBasedTableBuilder::GetTable() { if (table_ == NULL) { table_.Attach(down_cast(SubBuildTable(InternalReadData()))); } return table_; } } // namespace sfntly