?? specialist.idl
字號:
// **********************************************************************// // <copyright>// // BBN Technologies, a Verizon Company// 10 Moulton Street// Cambridge, MA 02138// (617) 873-8000// // Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/corba/com/bbn/openmap/layer/specialist/Specialist.idl,v $// $RCSfile: Specialist.idl,v $// $Revision: 1.2 $// $Date: 2003/05/07 20:56:59 $// $Author: dietrick $// // **********************************************************************#ifndef Specialist_idl#define Specialist_idl// ----------------------------------------------------------------------// The Specialist.// ----------------------------------------------------------------------module CSpecialist {// ----------------------------------------------------------------------// Core Typedefs// ---------------------------------------------------------------------- typedef sequence<string> strings;// ----------------------------------------------------------------------// Basic Structures// ---------------------------------------------------------------------- const string Revision = "@(#)$Header: /cvs/distapps/openmap/src/corba/com/bbn/openmap/layer/specialist/Specialist.idl,v 1.2 2003/05/07 20:56:59 dietrick Exp $"; struct XYPoint { short x; short y; }; struct LLPoint { float lat; float lon; }; struct CTEntry { unsigned short red; unsigned short green; unsigned short blue; unsigned short open; }; interface CColor; interface CColor { attribute unsigned short red; attribute unsigned short green; attribute unsigned short blue; struct EColor { CColor color; unsigned short red; unsigned short green; unsigned short blue; }; EColor fill(); }; typedef sequence<CTEntry> colorTable; typedef sequence<octet> binarydata; typedef sequence<octet> pixeldata; interface CStipple; interface CStipple { readonly attribute unsigned short height; readonly attribute unsigned short width; readonly attribute binarydata data; struct EStipple { CStipple stipple; unsigned short height; unsigned short width; binarydata data; }; EStipple fill(); }; struct CProjection { short kind; // ProjType (PT_Mercator...) LLPoint center; unsigned short height; unsigned short width; unsigned long scale; }; //------------------------------------------------------------ // Graphic Objects //------------------------------------------------------------ interface Comp; struct EComp { Comp comp; string cID; }; interface Graphic; interface Graphic { enum GraphicType { GT_Graphic, GT_Bitmap, GT_Text, GT_Poly, GT_Line, GT_UnitSymbol, GT_2525Symbol, GT_Rectangle, GT_Circle, GT_Raster, GT_ForceArrow, GT_NewGraphic, //used only in UpdateGraphic unions GT_ReorderGraphic //used only in UpdateGraphic unions }; enum RenderType { RT_Unknown, RT_LatLon, RT_XY, RT_Offset }; enum LineType { LT_Unknown, LT_Straight, LT_Rhumb, LT_GreatCircle }; enum DeclutterType { DC_None, //no decluttering DC_Space, //object takes up space, not moved DC_Move, //object takes up space and moved DC_Line //object takes up space, moved, line drawn to }; // original spot readonly attribute string gID; readonly attribute GraphicType gType; attribute Comp obj; attribute LineType lType; attribute RenderType rType; attribute CColor color; attribute CColor fillColor; attribute unsigned short lineWidth; attribute CStipple stipple; attribute CStipple fillStipple; attribute DeclutterType dcType; //gestures don't affect // decluttering, timing issue enum settableFields { GF_object, GF_lType, GF_rType, GF_color, GF_fillColor, GF_lineWidth, GF_stipple, GF_fillStipple }; union GF_update switch (settableFields) { case GF_object: EComp obj; case GF_lType: Graphic::LineType lType; case GF_rType: Graphic::RenderType rType; case GF_color: CColor::EColor color; case GF_fillColor: CColor::EColor fillColor; case GF_lineWidth: unsigned short lineWidth; case GF_stipple: CStipple::EStipple stipple; case GF_fillStipple: CStipple::EStipple fillStipple; }; struct EGraphic { Graphic graph; EComp obj; string gID; Graphic::LineType lType; Graphic::GraphicType gType; Graphic::RenderType rType; CColor::EColor color; CColor::EColor fillColor; unsigned short lineWidth; CStipple::EStipple stipple; CStipple::EStipple fillStipple; Graphic::DeclutterType dcType; }; EGraphic gfill(); }; typedef sequence<Graphic> GraphicSeq; typedef sequence<XYPoint> XYPointSeq; typedef sequence<LLPoint> LLPointSeq; interface Bitmap : Graphic { attribute XYPoint p1; attribute LLPoint ll1; attribute unsigned short width; attribute unsigned short height; attribute unsigned short x_hot; attribute unsigned short y_hot; attribute binarydata bits; attribute CStipple bmref; enum settableFields { BF_p1, BF_ll1, BF_width, BF_height, BF_x_hot, BF_y_hot, BF_bits, BF_bmref }; union BF_update switch (settableFields) { case BF_p1: XYPoint p1; case BF_ll1: LLPoint ll1; case BF_width: unsigned short width; case BF_height: unsigned short height; case BF_x_hot: unsigned short x_hot; case BF_y_hot: unsigned short y_hot; case BF_bits: binarydata bits; case BF_bmref: CStipple bmref; }; struct EBitmap { Graphic::EGraphic egraphic; XYPoint p1; LLPoint ll1; unsigned short width; unsigned short height; unsigned short x_hot; unsigned short y_hot; binarydata bits; string bmref; /*previous definition - CStipple bmref;*/ }; EBitmap fill(); }; interface Poly : Graphic { enum CoordMode { CModeOrigin, /* relative to the origin */ CModePrevious /* relative to previous point */ }; attribute LLPoint ll1; attribute CoordMode cMode; attribute XYPointSeq xypoints; attribute LLPointSeq llpoints; enum settableFields { PF_ll1, PF_cMode, PF_xypoints, PF_llpoints }; union PF_update switch (settableFields) { case PF_ll1: LLPoint ll1; case PF_cMode: CoordMode cMode; case PF_xypoints: XYPointSeq xypoints; case PF_llpoints: LLPointSeq llpoints; }; struct EPoly { Graphic::EGraphic egraphic; LLPoint ll1; Poly::CoordMode cMode; XYPointSeq xypoints; LLPointSeq llpoints; }; EPoly fill(); }; interface Text : Graphic { attribute XYPoint p1; attribute LLPoint ll1; attribute string data; attribute string font; attribute short justify; enum settableFields { TF_p1, TF_ll1, TF_data, TF_font, TF_justify }; union TF_update switch (settableFields) { case TF_p1: XYPoint p1; case TF_ll1: LLPoint ll1; case TF_data: string data; case TF_font: string font; case TF_justify: short justify; }; struct EText { Graphic::EGraphic egraphic; XYPoint p1; LLPoint ll1; string data; string font; short justify; }; EText fill(); }; interface Line : Graphic { attribute XYPoint p1; attribute XYPoint p2; attribute LLPoint ll1; attribute LLPoint ll2; enum settableFields { LF_p1, LF_p2, LF_ll1, LF_ll2 }; union LF_update switch (settableFields) { case LF_p1: XYPoint p1; case LF_p2: XYPoint p2; case LF_ll1: LLPoint ll1; case LF_ll2: LLPoint ll2; }; struct ELine { Graphic::EGraphic egraphic; XYPoint p1; XYPoint p2; LLPoint ll1; LLPoint ll2; }; ELine fill(); }; interface UnitSymbol : Graphic { attribute XYPoint p1; attribute LLPoint ll1; attribute string group; attribute string symbol; attribute string echelon; attribute string left1; attribute string left2; attribute string left3; attribute string left4; attribute string right1; attribute string right2; attribute string right3; attribute string right4; attribute string top1; attribute string bottom1; attribute unsigned short nom_size; // nominal size is in pixels attribute unsigned short min_size; // minimal size is in pixels attribute unsigned short max_size; // maximum size is in pixels attribute unsigned long scale; // scale at which size is nom_size attribute boolean is_hq; // Headquarters mark display attribute float rotate; // rotate unit 0.0 -> 180.0 degrees enum settableFields { USF_p1, USF_ll1, USF_group, USF_symbol, USF_echelon, USF_left1, USF_left2, USF_left3, USF_left4, USF_right1, USF_right2, USF_right3, USF_right4, USF_top1, USF_bottom1, USF_nom_size, USF_min_size, USF_max_size, USF_scale, USF_is_hq, USF_rotate }; union USF_update switch (settableFields) { case USF_p1: XYPoint p1; case USF_ll1: LLPoint ll1; case USF_group: string group; case USF_symbol: string symbol; case USF_echelon: string echelon; case USF_left1: string left1; case USF_left2: string left2; case USF_left3: string left3; case USF_left4: string left4; case USF_right1: string right1; case USF_right2: string right2; case USF_right3: string right3; case USF_right4: string right4; case USF_top1: string top1; case USF_bottom1: string bottom1; case USF_nom_size: unsigned short nom_size; case USF_min_size: unsigned short min_size; case USF_max_size: unsigned short max_size; case USF_scale: unsigned long scale; case USF_is_hq: boolean is_hq; case USF_rotate: float rotate; }; struct EUnitSymbol { Graphic::EGraphic egraphic; XYPoint p1; LLPoint ll1; string group; string symbol; string echelon; string left1; string left2; string left3; string left4; string right1; string right2; string right3; string right4; string top1; string bottom1; unsigned short nom_size; unsigned short min_size; unsigned short max_size; unsigned long scale; boolean is_hq; float rotate; }; EUnitSymbol fill(); }; interface U2525Symbol : Graphic { attribute XYPoint p1; attribute LLPoint ll1; attribute string symbol; attribute char confirmed; attribute char reduced; attribute boolean is_hq; // Headquarters mark display attribute string movement; attribute string left2; attribute string left4; attribute string right2; attribute string right3; attribute string right4; attribute string bottom1; attribute unsigned short nom_size; // nominal size is in pixels attribute unsigned short min_size; // minimal size is in pixels attribute unsigned short max_size; // maximum size is in pixels attribute unsigned long scale; // scale at which size is nom_size attribute float rotate; // rotate 2525 0.0 -> 180.0 degrees enum settableFields { U2525F_p1, U2525F_ll1, U2525F_symbol, U2525F_confirmed, U2525F_reduced, U2525F_movement, U2525F_left2, U2525F_left4, U2525F_right2, U2525F_right3, U2525F_right4, U2525F_bottom1, U2525F_nom_size, U2525F_min_size, U2525F_max_size, U2525F_scale, U2525F_is_hq, U2525F_rotate }; union U2525F_update switch (settableFields) { case U2525F_p1: XYPoint p1; case U2525F_ll1: LLPoint ll1; case U2525F_symbol: string symbol; case U2525F_confirmed: char confirmed; case U2525F_reduced: char reduced; case U2525F_movement: string movement;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -