⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dict.cc

📁 这是一个做pdf阅读器的源代码文件,是大家学习阅读器资料的很好参考
💻 CC
字号:
//========================================================================//// Dict.cc//// Copyright 1996-2003 Glyph & Cog, LLC////========================================================================#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma implementation#endif#include <stddef.h>#include <string.h>#include "gmem.h"#include "Object.h"#include "XRef.h"#include "Dict.h"//------------------------------------------------------------------------// Dict//------------------------------------------------------------------------Dict::Dict(XRef *xrefA) {  xref = xrefA;  entries = NULL;  size = length = 0;  ref = 1;}Dict::~Dict() {  int i;  for (i = 0; i < length; ++i) {    gfree(entries[i].key);    entries[i].val.free();  }  gfree(entries);}void Dict::add(char *key, Object *val) {  if (length == size) {    if (length == 0) {      size = 8;    } else {      size *= 2;    }    entries = (DictEntry *)greallocn(entries, size, sizeof(DictEntry));  }  entries[length].key = key;  entries[length].val = *val;  ++length;}inline DictEntry *Dict::find(char *key) {  int i;  for (i = 0; i < length; ++i) {    if (!strcmp(key, entries[i].key))      return &entries[i];  }  return NULL;}GBool Dict::is(char *type) {  DictEntry *e;  return (e = find("Type")) && e->val.isName(type);}Object *Dict::lookup(char *key, Object *obj) {  DictEntry *e;  return (e = find(key)) ? e->val.fetch(xref, obj) : obj->initNull();}Object *Dict::lookupNF(char *key, Object *obj) {  DictEntry *e;  return (e = find(key)) ? e->val.copy(obj) : obj->initNull();}char *Dict::getKey(int i) {  return entries[i].key;}Object *Dict::getVal(int i, Object *obj) {  return entries[i].val.fetch(xref, obj);}Object *Dict::getValNF(int i, Object *obj) {  return entries[i].val.copy(obj);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -