⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icadapi.h

📁 mtext,编辑器,支持潜入对象
💻 H
📖 第 1 页 / 共 3 页
字号:
	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 + -