VR-Forces 4.0.4 Class Documentation
include/tmqt/mtlMapReader.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: mtlMapReader.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DTMTLMAPREADER_H_
00016 #define DTMTLMAPREADER_H_
00017 
00018 #include "symbolMapper/mapReader.h"
00019 
00020 #include "symbolMapper/descriptor.h"
00021 
00022 #include <vector>
00023 #include <mtl/mtl.h> 
00024 #include <mtl/lispEnv.h>
00025 
00026 #include "tmqt/tmqtDefines.h"
00027 class DT_DLL_tmqt DtMtlMapReader : public DtMapReader
00028 {
00029 private:
00030    struct ParserEntry 
00031    {
00032       QString key;
00033       DtSymbolDescriptorParserFcn fcn;
00034    };
00035 public:
00036    DtMtlMapReader(DtBaseMapper* mapper);
00037    virtual ~DtMtlMapReader();
00038 
00039    virtual bool load(const QString& filename, bool replace = false);
00040    virtual bool init();
00041    virtual bool save(const QString&);
00042 
00043    virtual DtSymbolDescriptor* createSymbol(QString symbol, 
00044       QString key, const DtlObjPtr& args, DtlObjPtr&result);
00045 
00046    virtual void setEnv(DtMtlEnvironment* env);
00047 
00049    virtual void parse(const QString& str);
00050 
00051    virtual bool replace() const;
00052 
00053 public:
00054    static DtlObjPtr parseOverlaySymbolMap(const DtlObjPtr& args, 
00055       const DtlObjPtr&);
00056    static DtlObjPtr parseSymbolMap(const DtlObjPtr& args, 
00057       const DtlObjPtr&);
00058 
00059    static DtMapReader* create(DtBaseMapper* mapper);
00060 
00061    static DtSymbolDescriptor* parseBmpSymbol(DtMapReader* reader, 
00062       QString key, void*& args, void*& retval);
00063 
00064    static DtSymbolDescriptor* parseTtfSymbol(DtMapReader* reader, 
00065       QString key, void*& args, void*& retval);
00066    static DtSymbolDescriptor* parseUTTFSymbol(DtMapReader* reader, 
00067       QString key, void*& args, void*& retval);
00068    static DtSymbolDescriptor* parseUTTFExtendedSymbol(DtMapReader* reader, 
00069       QString key, void*& args, void*& retval);
00070 
00071    static DtSymbolDescriptor* parseTtsSymbol(DtMapReader* reader, 
00072       QString key, void*& args, void*& retval);
00073    static DtSymbolDescriptor* parsePlySymbol(DtMapReader* reader, 
00074       QString key, void*& args, void*& retval);
00075    static DtSymbolDescriptor* parseBoxSymbol(DtMapReader* reader, 
00076       QString key, void*& args, void*& retval);
00077 
00078 protected:
00079    virtual DtSymbolDescriptor* processBmpSymbol(QString key, 
00080       DtlObjPtr& args, DtlObjPtr& retval);
00081    virtual DtSymbolDescriptor* processTtfSymbol(QString key, 
00082       DtlObjPtr& args, DtlObjPtr& retval);
00083    virtual DtSymbolDescriptor* processUTTFSymbol(QString key, 
00084       DtlObjPtr& args, DtlObjPtr& retval);
00085    virtual DtSymbolDescriptor* processUTTFExtendedSymbol(QString key, 
00086       DtlObjPtr& args, DtlObjPtr& retval);
00087 
00088    virtual DtSymbolDescriptor* processTtsSymbol(QString key, 
00089       DtlObjPtr& args, DtlObjPtr& retval);
00090    virtual DtSymbolDescriptor* processPlySymbol(QString key, 
00091       DtlObjPtr& args, DtlObjPtr& retval);
00092    virtual DtSymbolDescriptor* processBoxSymbol(QString key, 
00093       DtlObjPtr& args, DtlObjPtr& retval);
00094 
00095    virtual QString mapFontKey(const QString& value) const;
00096    virtual void initEnv();
00097 
00098    virtual void parseColorAndTransparency(DtlObjPtr& ptr,
00099       DtSymbolDescriptor* desc);
00100 
00101 protected:
00103 static std::vector<ParserEntry> theAddlParserList;
00104    DtMtlEnvironment* myMtlEnvironment;
00105    bool myOwnsEnv;
00106 
00107    bool myReplace;
00108 };
00109 
00110 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)