CvDLLSymbolIFaceBase.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #pragma once
  2. #ifndef CvDLLSymbolIFaceBase_h
  3. #define CvDLLSymbolIFaceBase_h
  4. //#include "CvEnums.h"
  5. #include "CvDLLUtilityIFaceBase.h"
  6. #include "CvGlobals.h" // for gDLL
  7. //
  8. // abstract interface for CvSymbol functions used by DLL
  9. //
  10. class CvSymbol;
  11. class CvPlot;
  12. class CvRoute;
  13. class CvFeature;
  14. class CvRiver;
  15. class CvDLLSymbolIFaceBase
  16. {
  17. public:
  18. virtual void init(CvSymbol* , int iID, int iOffset, int iType, CvPlot* pPlot) = 0;
  19. virtual CvSymbol* createSymbol() = 0;
  20. virtual void destroy(CvSymbol*&, bool bSafeDelete=true ) = 0;
  21. virtual void setAlpha(CvSymbol*, float fAlpha) = 0;
  22. virtual void setScale(CvSymbol*, float fScale) = 0;
  23. virtual void Hide(CvSymbol*, bool bHide) = 0;
  24. virtual bool IsHidden(CvSymbol*) = 0;
  25. virtual void updatePosition(CvSymbol*) = 0;
  26. virtual int getID(CvSymbol*) = 0;
  27. virtual SymbolTypes getSymbol(CvSymbol* pSym) = 0;
  28. virtual void setTypeYield(CvSymbol *, int iType, int count) =0;
  29. };
  30. class CvDLLFeatureIFaceBase
  31. {
  32. public:
  33. virtual CvFeature* createFeature() = 0;
  34. virtual void init(CvFeature*, int iID, int iOffset, int iType, CvPlot* pPlot) = 0;
  35. virtual FeatureTypes getFeature(CvFeature* pObj) = 0;
  36. virtual void setDummyVisibility(CvFeature *feature, const char *dummyTag, bool show) = 0;
  37. virtual void addDummyModel(CvFeature *feature, const char *dummyTag, const char *modelTag) = 0;
  38. virtual void setDummyTexture(CvFeature *feature, const char *dummyTag, const char *textureTag) = 0;
  39. virtual CvString pickDummyTag(CvFeature *feature, int mouseX, int mouseY) = 0;
  40. virtual void resetModel(CvFeature *feature) = 0;
  41. // derived methods
  42. virtual void destroy(CvFeature*& pObj, bool bSafeDelete=true) { gDLL->getSymbolIFace()->destroy((CvSymbol*&)pObj, bSafeDelete); }
  43. virtual void Hide(CvFeature* pObj, bool bHide) { gDLL->getSymbolIFace()->Hide((CvSymbol*)pObj, bHide); }
  44. virtual bool IsHidden(CvFeature* pObj) { return gDLL->getSymbolIFace()->IsHidden((CvSymbol*)pObj); }
  45. virtual void updatePosition(CvFeature* pObj) { gDLL->getSymbolIFace()->updatePosition((CvSymbol*)pObj); }
  46. };
  47. class CvDLLRouteIFaceBase
  48. {
  49. public:
  50. virtual CvRoute* createRoute() = 0;
  51. virtual void init(CvRoute*, int iID, int iOffset, int iType, CvPlot* pPlot) = 0;
  52. virtual RouteTypes getRoute(CvRoute* pObj) = 0;
  53. // derived methods
  54. virtual void destroy(CvRoute*& pObj, bool bSafeDelete=true) { gDLL->getSymbolIFace()->destroy((CvSymbol*&)pObj, bSafeDelete); }
  55. virtual void Hide(CvRoute* pObj, bool bHide) { gDLL->getSymbolIFace()->Hide((CvSymbol*)pObj, bHide); }
  56. virtual bool IsHidden(CvRoute* pObj) { return gDLL->getSymbolIFace()->IsHidden((CvSymbol*)pObj); }
  57. virtual void updatePosition(CvRoute* pObj) { gDLL->getSymbolIFace()->updatePosition((CvSymbol*)pObj); }
  58. virtual int getConnectionMask(CvRoute* pObj) = 0;
  59. virtual void updateGraphicEra(CvRoute *pObj) = 0;
  60. };
  61. class CvDLLRiverIFaceBase
  62. {
  63. public:
  64. virtual CvRiver* createRiver() = 0;
  65. virtual void init(CvRiver*, int iID, int iOffset, int iType, CvPlot* pPlot) = 0;
  66. // derived methods
  67. virtual void destroy(CvRiver*& pObj, bool bSafeDelete=true) { gDLL->getRouteIFace()->destroy((CvRoute*&)pObj, bSafeDelete); }
  68. virtual void Hide(CvRiver* pObj, bool bHide) { gDLL->getRouteIFace()->Hide((CvRoute*)pObj, bHide); }
  69. virtual bool IsHidden(CvRiver* pObj) { return gDLL->getRouteIFace()->IsHidden((CvRoute*)pObj); }
  70. virtual void updatePosition(CvRiver* pObj) { gDLL->getRouteIFace()->updatePosition((CvRoute*)pObj); }
  71. };
  72. #endif // CvDLLSymbolIFaceBase_h