?? icadapi.h
字號:
sds_name ename;
sds_real r50,
r52;
int i70;
sds_point pt10,
pt13,
pt14,
pt15,
pt16,
pt210,
startpt,
startptother,
vertex;
sds_point ucsaxis[3],
ucsorg;
sds_real elev;
};
//BugZilla No. 78155; 27-05-2002 ]
//** Protos
class CIcadDoc;
class CIcadView;
class db_handitem;
class CDrawDevice;
int sds_pmtssget(const char *szSelMsg,const char *szSelMethod, void *pFirstPoint, const void *pSecondPoint, const struct sds_resbuf *prbFilter,
sds_name nmNewSet,const int OmitFromPrevSS, bool bIncludeInvisible=true, bool bIncludeLockedLayers = false, bool bDirectCall = true /* add [ */,bool bsetPrevSS = false /* ]*/ ); //EBATECH(FUTA)
int SDS_SetActiveVPbyNum(int VPnum);
int SDS_InitThisView(CIcadView *pView);
int SDS_CopyEntLink(db_handitem **dest,db_handitem *hip);
int SDS_CompEntLinks(db_BinChange **chglst, db_handitem *oldhip,db_handitem *newhip);
int SDS_VPeedToView(db_drawing *flp,db_handitem *elp,struct gr_view **gViewVP,CIcadView *pView);
int SDS_SetClipInDC(CIcadView *pView,db_handitem *elp,struct gr_view *gView,bool clearonly);
int SDS_getvar(const char *vname, short qidx, struct resbuf *res, db_drawing *dp, db_charbuflink *configsv, db_charbuflink *sessionsv);
int SDS_setvar(const char *vname, short qidx, const struct resbuf *sour, db_drawing *dp, db_charbuflink *configsv, db_charbuflink *sessionsv, short asis);
struct resbuf *SDS_tblgetter(const char *tabname, const char *recname, short setrec, db_drawing *dp);
struct resbuf *SDS_tblgetter2(const char *tabname, const char *recname, short setrec, db_drawing *dp);
int SDS_DrawLine(const sds_point from, const sds_point to, int color, int hl, int xor, db_drawing *dp, int BitBlt2Scr);
int SDS_RedrawEntity(const sds_name ent, int mode, CIcadView *arg_pView,CIcadDoc *pDoc, int BitBlt2Scr );
int SDS_RedrawDrawing( db_drawing *flp, CIcadView *arg_pView,CIcadDoc *pDoc,int BitBlt2Scr);
int SDS_BuildRegenList(db_drawing *flp,struct gr_view *view,CIcadView *pView,CIcadDoc *pDoc);
int SDS_SaveDataForPreviousOrUndo( CIcadView *pView, db_drawing *flp, int tilemode, int cvport );
int SDS_RedrawAfterZoom( CIcadView *pView, db_drawing *flp, int tilemode, int cvport, const sds_real *viewsize );
int SDS_ZoomIt(db_drawing *dp,int mode, sds_point center, const sds_real *viewsize,const int *viewmode, sds_point viewdir, const sds_real *twistorfrontz, const sds_real *backz);
struct resbuf *SDS_SSToVects(const sds_name ss, db_drawing *flp,struct gr_view *view);
int SDS_DrawFill(const sds_point *pts, int npts, int color, int hl, int xor, db_drawing *dp, int BitBlt2Scr);
int SDS_VarToTab(db_drawing *dp,db_handitem *hip);
int SDS_TabToVar(db_drawing *dp,db_handitem *hip);
db_handitem *SDS_MakeNewVportTab(int id,db_drawing *flp,sds_point pt1,sds_point pt2);
CBitmap *SDS_DrawBitmap(db_drawing *dp,char *Fname,char *Bname,db_handitem *Ename,int cx,int cy,BOOL bFill);
void SDS_FreeUndoList(void *);
int SDS_UndoGroup(db_drawing *dp);
int SDS_RedoGroup(db_drawing *dp);
int SDS_UndoBack(db_drawing *dp);
int SDS_UndoDisplay(db_drawing *dp);
int SDS_SetUndo(int mode,void *data1,void *data2,void *data3,db_drawing *dp);
int SDS_entmake(const struct sds_resbuf *prbEntList,db_drawing *argflp);
int SDS_entmakeImageCopy(struct sds_resbuf*prbEntList);
int SDS_entmakeImageInsert(struct sds_resbuf *elist,db_drawing *argflp);
int SDS_ret_imagedict(sds_name &dictName, db_drawing *argflp, bool create, bool &existed);
int SDS_getaNewImageDefReactor(sds_name &imageReactorName, sds_name imageName,db_drawing *argflp);
int SDS_getaNewImageDef(sds_name &imagedefName, sds_name imageName, sds_name imageDictionary, sds_name imageReactor,db_drawing *argflp);
int SDS_updateMLine(sds_name ename, sds_name newename);
int SDS_ViewToVars2Use(CIcadView *pView,db_drawing *dp,struct gr_viewvars *viewvarsp);
void SDS_DrawEntity(db_handitem *elp,CDC *cdc,db_drawing *flp,CIcadView *pView);
HPALETTE SDS_GetHPalette(void);
CPalette *SDS_GetNewPalette(void);
int SDS_BroadcastRQToSDSApps(int RQcode);
void SDS_CancelAllPending(int NoMenu);
int SDS_AutoLoad(void);
void SDS_FreeZoomPrev(CIcadView *pView);
CBitmap *SDS_DimBitmap(int cx,int cy,int mode);
int SDS_xforment(sds_name ename, struct resbuf *argelist, sds_matrix genmat);
int SDS_simplexforment( sds_name ename, struct resbuf *argelist, sds_matrix genmat );
int SDS_WriteAlias(char *Fname);
int SDS_DefaultAlias(void);
int SDS_FreeAlias(void);
int SDS_ReadAlias(char *Fname);
int SDS_ReadAccelerators(char* Fname);
int SDS_dragobj_cb(sds_point pt3, sds_matrix mt);
int SDS_dragone(sds_point pt3, int mode, int dragit, int ortho, sds_real snapang, int snapstyl);
int SDS_UpdateEntDisp(const sds_name ename,int pushext,gr_view *view2use=NULL);
int SDS_EntNodeDrag(CIcadDoc *pDoc, sds_name ename, sds_point pt);
void SDS_FreeNodeList(CIcadDoc *pDoc);
int SDS_AddOneNode(CIcadDoc *pDoc, sds_name ename, sds_point pt, int addtolist);
int SDS_AddGripNodes(CIcadDoc *pDoc, sds_name ename, int mode);
//4M Item:28->
int SDS_DrawGripNodes(CIcadDoc *pDoc);
//<-4M Item:28
void SDS_DrawArc(int color, int hl, int mode, sds_real viewht,sds_real r0,sds_real r1,sds_real r2,sds_real r3,sds_real r4,sds_real elev);
int SDS_PromptMenu(int Mode);
int SDS_BitBlt2Scr(int OnlyRect);
int SDS_dwgrwtester(void);
int SDS_InitLisp(void);
int SDS_dragobject(int mode, int dragit, const sds_point pt1, const sds_point pt2, const sds_real ang, LPCTSTR prompt, struct resbuf **retrb, sds_point retpt, char *kword);
struct resbuf *SDS_ResBufCopy(struct resbuf *source);
int SDS_WaitLoop(void);
void SDS_cmdthread( void );
int SDS_GetGlobals(char *appname,HWND *hwnd,HINSTANCE *hInstance);
struct resbuf *SDS_MnuStrToRB(char *mnustr);
int SDS_loadfuncs(void);
void SDS_StartDraggingSS(sds_point Pt);
void SDS_EndDraggingSS(sds_point Pt, bool IsCancel = false);
int SDS_PenColorFromACADColor( int aColor );
int SDS_BrushColorFromACADColor( int aColor );
int SDS_XORBrushColorFromACADColor( int color );
int SDS_XORPenColorFromACADColor( int color );
int SDS_RGBFromACADColor( int aColor );
int SDS_RGB16FromACADColor( int aColor );
RGBQUAD SDS_GetPaletteColorsRGBQUAD( int color );
int SDS_GetPaletteColorsRGB( int color );
void SDS_SetLastPrompt(const char *prompt);
int SDS_FreeEventList(int NoMenu);
int SDS_DoOneCommand(char *cmd, int pushlsp);
int SDS_RegInternalFunc(const char *GlobalName, void *funccall, const char* LocalName, int id = -3);
int SDS_ViewDir(sds_point pt1);
struct resbuf *SDS_EntListToVects(const struct resbuf *elist);
struct resbuf *SDS_ArcSegments(int mode, sds_real viewht,sds_real r0,sds_real r1,sds_real r2,sds_real r3,sds_real r4,sds_real elev, struct resbuf *ecsp, struct resbuf *destcsp);
void SDS_SyncSysVars(void);
int SDS_CommandSize(HWND,int);
int SDS_CommandSend(HWND,char *,int);
int SDS_DBModified( DWORD whichFlag);
int SDS_EventMask(UINT);
int SDS_Menu(HWND,char *);
int SDS_Message(HWND,char *,int);
int SDS_SetCursor(int);
int SDS_GetPickCursor();
int SDS_Init(HWND,LPARAM);
void SDS_Run();
int SDS_Exit( void );
int SDS_ProcessInputEvent( InputEvent *pEvent );
int SDS_CmdLineSize(int mode);
int SDS_ClearScreen(CIcadView *pView,int bitblt2scr);
int SDS_PrintOnStatus(int box, LPCTSTR ptext, int hl);
int SDS_SendMessage(int msg, WPARAM nFlags,LPARAM lParam);
int SDS_SaveBitmapToBuffer(CBitmap *bitmap, char **ppBuffer, long *bytes,bool ChgBackgnd);
int SDS_SaveBufferToFile(char *pBuffer,long len, LPTSTR pszFile);
int SDS_GetColorDialog(int defcol, int *retcol, int mode);
int SDS_DrawCursor(CPoint point, int curtype,CIcadView *pView);
int SDS_rpextents(const sds_point extmin,const sds_point extmax,sds_point viewll, sds_point viewur,gr_view *view2use);
void SDS_GetViewScrollInfo(int *bposx,int *bposy,int *bsizx,int *bsizy);
void SDS_OnFirstView(CIcadView *pView,int UseFirstView);
int SDS_BitBlt2View(int OnlyRect,CIcadView *pView);
int SDS_GetFiled(const char *szTitle, const char *szDefaultPath, const char *szExtension, int bsOptions, struct sds_resbuf *prbFileName, const char* lpTemplateName, void(*pOnOkCallback)(HWND));
int SDS_StartTblRead(const char *tabname);
int SDS_TblReadHasMore(void);
char *SDS_TblReadString(void);
void SDS_CreateOurColorMap(void);
int SDS_progxformss(const sds_name nmSetName, sds_matrix mxTransform,int useprogress);
int SDS_ProgressStart(void);
int SDS_ProgressStop(void);
int SDS_ProgressPercent(int iPercentDone);
CBitmap *SDS_DrawDiskFont(int cx,int cy,char *fname,char *bfname);
BOOL SDS_ReadFileIntoBuffer(char *pszFile,char **ppBuffer, unsigned long *bytes);
CBitmap *SDS_GetBitmapFromBuffer(CDC *cdc, char *pBuffer, long bytes);
int SDS_regapp(const char *szApplication,db_drawing *argflp);
int SDS_GetRectForVP( CIcadView *pView, db_handitem *elp,struct gr_view *gView,int *x1,int *x2,int *y1,int *y2);
int SDS_ssadd(const sds_name entityToAdd, const sds_name oldSelSet, sds_name newSelSet);
long SDS_sscpy(sds_name ss2, sds_name ss1);
int SDS_ssOrder(sds_name ss, bool bAscending = true);
int SDS_ssUnOrder(sds_name ss);
int SDS_ssHasIntersection(const sds_name ss1, const sds_name ss2, sds_name ss = NULL, bool bExtractCommEnts = false);
void SDS_SetRegenListFlag(CIcadView *pView,CIcadDoc *pDoc);
int SDS_ClearViewPort(db_handitem *hip,CIcadView *pView);
// EBATECH(CNBR) -[ add optional argument
//BOOL SDS_OurWinExec(LPCTSTR lpszImageName, LPCTSTR lpszCommandLine);
BOOL SDS_OurWinExec(LPCTSTR lpszImageName, LPCTSTR lpszCommandLine, WORD wShowWindow = SW_SHOWNOACTIVATE);
// EBATECH(CNBR) ]-
// ************************
// SDS_AskForPoint
//
int SDS_AskForPoint( const sds_point pt,
const char *prompt,
sds_point result,
bool internalCall = TRUE);
int SDS_CallUserCallbackFunc(int flag,void *arg1,void *arg2,void *arg3);
void SDS_FontSubsMsg(char *looked4,char *found);
void SDS_DrawDragVectors(CIcadDoc *pDoc);
int SDS_getangleneg(const sds_point ptStart, const char *szAngleMsg, double *pdRadians);
int SDS_getorientneg(const sds_point ptStart, const char *szOrientMsg, double *pdRadians);
int SDS_getanglebig(const sds_point ptStart, const char *szAngleMsg, double *pdRadians);
int SDS_getorientbig(const sds_point ptStart, const char *szOrientMsg, double *pdRadians);
int SDS_angtof_convert(int mode,const char *szAngle, int nUnitType, double *pdAngle);
int SDS_WriteWMF(ICADWMFINFO* pWmfInfo, char* pszFileName);
// *************************************************
// SDS_CreateThread
//
// Purpose
// Mirrors the CreateThread function, but allows us to control exactly
// how it is done. In particular, the C runtime wants us to call _beginthread
// instead of CreateThread, so now we do
//
HANDLE SDS_CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize, // initial thread stack size, in bytes
LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function
LPVOID lpParameter, // argument for new thread
DWORD dwCreationFlags, // creation flags
LPDWORD lpThreadId // pointer to returned thread identifier
);
VOID SDS_ExitThread( DWORD dwExitCode );
class SDSApplication;
int SDS_MainCommandLineThread( HWND hWnd );
int SDS_LispCommandPipelineThread( HWND hWnd );
struct SDS_XAppCommandLineThreadParams
{
SDSApplication *pThisApp;
};
int SDS_XAppCommandLineThread( SDS_XAppCommandLineThreadParams *pParams );
struct SDS_XAppAppThreadParams
{
LPTHREAD_START_ROUTINE EntryFunc;
SDSApplication *pThisApp;
};
int SDS_XAppAppThread( SDS_XAppAppThreadParams *pParams );
#if defined(__cplusplus)
}
#endif
// Outside of the extern "C" block
//
int SDS_PickObjects(const char *str, const void *pt1, const sds_point pt2, const struct resbuf *filter, sds_name ss, int mode, db_drawing *dp, bool bIncludeInvisible = true, bool bSpecialImageFilter = false, bool bIncludeLockedLayers = false, bool bAddToPrevSelSet = true );
int SDS_getdispobjs(db_drawing *topdp, db_handitem **p_hipp,struct gr_displayobject **p_begdopp,struct gr_displayobject **p_enddopp,sds_point *p_ucsextp,db_drawing *p_dp,struct gr_view *p_viewp,short p_mode, db_viewport *pViewportForVpLayerData = NULL, bool bMeshAcisEntities = false ); /*D.G.*/// 'true' to get mesh surface disp. objs for ACIS entities.
short SDS_tblmesser(struct resbuf *rbll, short mode, db_drawing *dp, bool duplicatesok=false);
bool EntityMatchesFilterList( const struct resbuf *filter, db_handitem *elp, db_drawing *flp ) ;
bool SDS_PostInputEvent( const InputEvent &theEvent );
class IcadEngineVariables;
IcadEngineVariables *IDS_GetEngineVariables( void );
class IcadThreadController;
IcadThreadController *IDS_GetThreadController( void );
void IDS_SignalIcadExiting( void );
bool IDS_IsIcadExiting( void );
class InputEventQueueInterface;
InputEventQueueInterface *IDS_GetInputEventQueue( void );
// returns true if the current thread is the engine thread
//
// Use to verify assumptions about threading
//
bool OnEngineThread( void );
// returns true if the current thread is the UI thread
//
// Use to verify assumptions about threading
//
bool OnUIThread( void );
// *********************
// The actions are the ICAD_WNDACTION_ defines
// at the top of icadapi.h
//
LRESULT ExecuteUIAction( int iAction, LPARAM lParam = 0 );
// same as Excute... but asynchronous
//
LRESULT PostUIAction( int iAction, LPARAM lParam = 0 );
class CommandQueue;
CommandQueue *GetMenuQueue();
CommandQueue *GetCancelScriptQueue( void );
CommandQueue *GetScriptQueue( void );
CommandQueue *GetActiveCommandQueue( void );
// EBATECH(CNBR)
void LaunchMTEXTEditor( CString& TextString, BOOL bNew = FALSE );
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -