1/* -*- c -*- */ 2/*****************************************************************************/ 3/* LibreDWG - free implementation of the DWG file format */ 4/* */ 5/* Copyright (C) 2019 Free Software Foundation, Inc. */ 6/* */ 7/* This library is free software, licensed under the terms of the GNU */ 8/* General Public License as published by the Free Software Foundation, */ 9/* either version 3 of the License, or (at your option) any later version. */ 10/* You should have received a copy of the GNU General Public License */ 11/* along with this program. If not, see <http://www.gnu.org/licenses/>. */ 12/*****************************************************************************/ 13 14/* 15 * summaryinfo.spec: DWG file AcDb::SummaryInfo section specification 16 * written by Reini Urban 17 */ 18 19 #include "spec.h" 20 21 SINCE (R_2004) { 22 IF_ENCODE_FROM_EARLIER { 23 FIELD_VALUE (TDINDWG) = dwg->header_vars.TDINDWG; 24 FIELD_VALUE (TDCREATE) = dwg->header_vars.TDCREATE; 25 FIELD_VALUE (TDUPDATE) = dwg->header_vars.TDUPDATE; 26 if (dat->version < R_2007 || /* if 2004 -> 2004: TV -> TV */ 27 dat->from_version >= R_2007) { /* or already TU */ 28 FIELD_VALUE (HYPERLINKBASE) = (BITCODE_TU)dwg->header_vars.HYPERLINKBASE; 29 } 30 else { /* 2004 -> 2007+ */ 31 FIELD_VALUE (HYPERLINKBASE) = bit_utf8_to_TU (dwg->header_vars.HYPERLINKBASE, 0); 32 } 33 } 34 } 35 36 FIELD_TU16 (TITLE, 1); 37 FIELD_TU16 (SUBJECT, 1); 38 FIELD_TU16 (AUTHOR, 1); 39 FIELD_TU16 (KEYWORDS, 1); 40 FIELD_TU16 (COMMENTS, 1); 41 FIELD_TU16 (LASTSAVEDBY, 1); 42 FIELD_TU16 (REVISIONNUMBER, 1); 43 FIELD_TU16 (HYPERLINKBASE, 1); 44 //DEBUG_HERE; 45 FIELD_TIMERLL (TDINDWG, 0); 46 FIELD_TIMERLL (TDCREATE, 0); 47 FIELD_TIMERLL (TDUPDATE, 0); 48 49 // CustomPropertyInfo str pair's 50 FIELD_RS (num_props, 0); 51 REPEAT (num_props, props, Dwg_SummaryInfo_Property) 52 REPEAT_BLOCK 53 FIELD_TU16 (props[rcount1].tag, 0); // CUSTOMPROPERTYTAG 54 FIELD_TU16 (props[rcount1].value, 0); // CUSTOMPROPERTY 55 END_REPEAT_BLOCK 56 END_REPEAT (props) 57 58 FIELD_RL (unknown1, 0); 59 FIELD_RL (unknown2, 0); 60