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

📄 cpu-disp.hpp

📁 一个嵌入式系统的C代码
💻 HPP
字号:
//*************************************************************************//  MODULE : CPU Display header for the RCOS operating system simulator   *//  AUTHOR : Ron Chernich                                                 *//  PURPOSE: Define function protos and any constants                     *//  HISTORY:                                                              *//   26-MAR-93  Cut from Test #6 code file.                               *//   29-APR-93	Bug animation points added				  *//   25-AUG-94  Isolated funcs colected into a class based on WinPainter  *//*************************************************************************#ifndef _CPU_DISP_  #include "rcos.hpp"  #include "message.hpp"  #include "gfx.hpp"  #include "obj.hpp"  #include "display.h"  ///////////////  // Give unique identifiers to the screen objects (used for animation)  //  #define INPUT_Q	1	// the Input waiting queue  #define READY_Q	2	// the Ready process queue  #define SUSRDY_Q	3	// the Suspended Ready process queue  #define BLOKED_Q	4	// the Blocked process queue  #define SUSBLK_Q	5	// the Suspended Blocked process queue  #define CPROC_BOX	6	// the Process Descriptor Block display  /////////////////////  // Process display "box" sizes and locations  //  #define  MAX_SLOTS	MAX_PROC	// nur slots in each queue  #define  CPROC_ITEM	7		// nur items in CPU box  #define  SLOT_DX	20		// width of a slot box  #define  SLOT_DY	20		// height of a slot box  #define  INPUT_QX	40		// absolute location, everything  #define  INPUT_QY	22		//	 else is relative to here.  #define  CPROC_DX	196		// width of PDB box  #define  READY_QX	INPUT_QX  #define  READY_QY	(INPUT_QY+64)  #define  SUSRDY_QX	READY_QX  #define  SUSRDY_QY	(READY_QY+200)  #define  BLOKED_QX	(GFX_Xmin-READY_QX-(SLOT_DX*MAX_SLOTS))  #define  BLOKED_QY	READY_QY  #define  SUSBLK_QX	BLOKED_QX  #define  SUSBLK_QY	SUSRDY_QY  #define  CPROC_DDY	SLOT_DY  #define  CPROC_DY	(CPROC_DDY*CPROC_ITEM)  #define  CPROC_X	((GFX_Xmin-CPROC_DX)/2)  #define  CPROC_Y	(READY_QY+(SUSRDY_QY-READY_QY-CPROC_DY+SLOT_DY)/2)  #define  CPROC_X2	(CPROC_X+86)  /////////////////  // animation path termination points.  The L/R suffixes refer to  // left and right positions for animation turning/termination points.  // All points (PT_) refer to the center of the animation bug.  //  #define BUG_RAD	4		  // radius of thing wot runs around  #define PT_BUG_XMIN	(READY_QX/2)  #define PT_BUG_XMAX	(GFX_Xmin-PT_BUG_XMIN)  #define PT_BUG_YMIN	(READY_QY-(BUG_RAD*3))  #define PT_INPUT_LX	(INPUT_QX-(BUG_RAD+2))  #define PT_INPUT_LY	(INPUT_QY+(SLOT_DY/2))  #define PT_READY_LX	(READY_QX-(BUG_RAD+2))  #define PT_READY_LY	(READY_QY+(SLOT_DY/2))  #define PT_READY_RX	(READY_QX+(SLOT_DX*MAX_SLOTS)+BUG_RAD+2)  #define PT_READY_RY	PT_READY_LY  #define PT_CPROC_X	(CPROC_X+(CPROC_DX/2))  #define PT_CPROC_Y	(CPROC_Y-(BUG_RAD+2))  #define PT_BLOKED_LX  (BLOKED_QX-(BUG_RAD+2))  #define PT_BLOKED_LY  PT_READY_LY  #define PT_BLOKED_RX  (BLOKED_QX+(SLOT_DX*MAX_SLOTS)+BUG_RAD+2)  #define PT_BLOKED_RY  PT_BLOKED_LY  #define PT_SUSRDY_LX	(SUSRDY_QX-(BUG_RAD+2))  #define PT_SUSRDY_LY	(SUSRDY_QY+(SLOT_DY/2))  #define PT_SUSRDY_RX	PT_READY_RX  #define PT_SUSRDY_RY	PT_SUSRDY_LY  #define PT_SUSBLK_LX	(SUSBLK_QX-(BUG_RAD+2))  #define PT_SUSBLK_LY	(SUSBLK_QY+(SLOT_DY/2))  #define PT_SUSBLK_RX	PT_BLOKED_RX  #define PT_SUSBLK_RY	PT_SUSBLK_LY  //////////////////////////////  // Colors used for process display  //  #define  SLOT_TXT   _BrightWhite  #define  PROC_BG    _Blue  #define  SLOT_BG    _White  #define  BUG_BLOT   _BrightWhite  #define  BUG_TAIL   _LightRed  #define  PROC_TXT   _Black  #if defined(MSC700) || defined(SYM60)    #define TEXT_OFS  2 	    // shift factor to opsition text ..    #define SLOT_BDR  _Black  #elif defined(BC31)    #define TEXT_OFS  1 	    // .. under the process queues.    #define SLOT_BDR  _BrightWhite  #endif  #ifdef UNIX	#define TEXT_OFS 1	#define SLOT_BDR _Black  #endif  ////////////////  // A class to perform all Window Painting..  //  class CpuAnim : public WinPainter {    BOOL bVis[8];	  // intuition gives 9 possible undirected paths    void DrawQueue (INT16, INT16, char*);    void MoveBug (point, point, BOOL);    void DispQ (UINT16*, INT16, INT16, INT16 = -SLOT_DX);  public:    CpuAnim (void);   ~CpuAnim (void) { }    void Paint (void);    void Anim (INT16, INT16, BOOL = FALSE);    void PaintBox (PMSG_ANIP);    void RefreshQ (UINT16, UINT16*);    void PaintAllQ (MSG_ANIQ&);  };  #define _CPU_DISP_#endif///////////////////////////////// EOF //////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -