ds9lex.h
Go to the documentation of this file.00001 #ifndef DISPLAY_DS9_DS9LEX_H_
00002 #define DISPLAY_DS9_DS9LEX_H_
00003
00004
00005
00006 #ifndef YY_DECL
00007
00008 #define YY_DECL \
00009 casa::viewer::ds9parse::token_type \
00010 casa::viewer::ds9lex::lex( casa::viewer::ds9parse::semantic_type* yylval, \
00011 casa::viewer::ds9parse::location_type* \
00012 )
00013 #endif
00014
00015
00016
00017 #ifndef __FLEX_LEXER_H
00018 #define yyFlexLexer ds9lex_FlexLexer
00019 #include <display/ds9/ds9FlexLexer.h>
00020 #undef yyFlexLexer
00021 #endif
00022
00023 #include <display/ds9/ds9context.h>
00024 #include <display/ds9/ds9parse.hh>
00025
00026 namespace casa {
00027 namespace viewer {
00028
00029 class Region;
00030
00031
00032
00033
00034
00035
00036 class ds9lex : public ds9lex_FlexLexer {
00037 public:
00038
00039
00040
00041 ds9lex( std::istream* yyin=0, std::ostream* yyout=0 ) : ds9lex_FlexLexer( yyin, yyout ) { }
00042 ~ds9lex( ) { }
00043
00044
00045
00046
00047 virtual ds9parse::token_type lex( ds9parse::semantic_type* yylval, ds9parse::location_type* );
00048
00049 void begin(int,int);
00050
00051
00052 void set_debug(bool b);
00053
00054 void discard( int );
00055 };
00056 }
00057 }
00058
00059
00060 class CallBack {
00061 public:
00062 enum { SELECTCB, UNSELECTCB, HIGHLITECB, UNHIGHLITECB,
00063 MOVEBEGINCB, MOVECB, MOVEENDCB, EDITBEGINCB,
00064 EDITCB, EDITENDCB, ROTATEBEGINCB, ROTATECB,
00065 ROTATEENDCB, DELETECB, TEXTCB, COLORCB,
00066 LINEWIDTHCB, PROPERTYCB, FONTCB, KEYCB,
00067 UPDATECB
00068 };
00069 };
00070
00071 class Marker {
00072 public:
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083 enum Property { NONE=0, SELECT=1, HIGHLITE=2, EDIT=4, MOVE=8, ROTATE=16,
00084 DELETE=32, FIXED=64, INCLUDE=128, SOURCE=256, DASH=512
00085 };
00086 };
00087
00088
00089 typedef std::list<casa::viewer::Region*> bison_region_list;
00090 #endif