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

📄 mypictures.cpp

📁 Linux 环境下
💻 CPP
字号:
#include "stdio.h"
#include "tablestructs.h"
#include "paintbitmap.h"
#include "paintcombo.h"
#include "paintline.h"
#include "paintstdblock.h"
#include "painttext.h"
#include "paintvalue.h"#include "mypicture.h"#include "mypictures.h"CMyPictures::CMyPictures(){   m_pPictureList = new list<CMyPicture*>;}CMyPictures::~CMyPictures(){   delete m_pPictureList;}CMyPicture* CMyPictures::GetMyPicture(int id){   list<CMyPicture*>::iterator iter;   for( iter = m_pPictureList->begin(); iter != m_pPictureList->end(); iter++)   {       CMyPicture* pPic = (CMyPicture*)(*iter);       if( pPic->m_id == id)           return pPic;   }   return 0;}void CMyPictures::BuildPictures(string fileName){   printf("Build Pictures\n");
   FILE *fp;
   if( (fp = fopen(fileName.c_str(),"rb")) == 0)
   {
      printf("file open error\n");
      return;
   }
   int count = 0;
   fread(&count, sizeof(int), 1, fp);
   int i = 0;   printf("count = %d", count);
   while( i < count)
   {
      TABLE_DESCRIBEPICTURE obj;      memset( &obj, 0, sizeof(TABLE_DESCRIBEPICTURE));
      fread( &obj, sizeof(struct TABLE_DESCRIBEPICTURE), 1, fp);
      CMyPicture *pic = new CMyPicture();      printf("PicID=%s\n", obj.Name);
      pic->m_PicProperty.GraphName = obj.Name;
      pic->m_PicProperty.PicID     = obj.PicID;
      pic->m_PicProperty.PicNo     = obj.PicNo;
      pic->m_PicProperty.PicType   = obj.Type;
      pic->m_PicProperty.PicHeight = obj.Height;
      pic->m_PicProperty.PicWidth  = obj.Width;
      pic->m_PicProperty.ConsoleNo = obj.ConsoleNo;              BuildBmpList(pic, "./table/bmpObject.txt");           BuildLineList(pic, "./table/lineObject.txt");           BuildTextList(pic, "./table/textObject.txt");           BuildValueList(pic, "./table/valueObject.txt");           BuildBlockList(pic, "./table/standardBlockObj.txt");           BuildComboList(pic, "./table/comboObj.txt");           m_pPictureList->push_back(pic);
      i++;
   }
   fclose(fp);   printf("Leave Built Pictures\n");}void CMyPictures::BuildBmpList(CMyPicture* pic,string fileName)
{
   printf("Enter Build bmpobject list\n");
   FILE *fp;
   if( (fp = fopen(fileName.c_str(),"rb")) == 0)
   {
      printf("file open error\n");
      return;
   }
   int count = 0;
   fread(&count, sizeof(int), 1, fp);
   int i = 0;
   while( i < count)
   {
      TABLE_BMPOBJECT obj;
      fread( &obj, sizeof(TABLE_BMPOBJECT), 1, fp);      if( obj.PicID != pic->m_PicProperty.PicID)      {          i++;           continue;      }
      CPaintBitmap* bmp = new CPaintBitmap();
      bmp->m_bmpObj.LeftUpPoint.x      = obj.MarkPointX;
      bmp->m_bmpObj.LeftUpPoint.y      = obj.MarkPointY;
      bmp->m_bmpObj.RightDownPoint.x   = obj.WidthCX;
      bmp->m_bmpObj.RightDownPoint.y   = obj.WidthCY;
      bmp->m_bmpObj.Angle	      = obj.Angle;
      bmp->m_bmpObj.Power	      = obj.Power;
      bmp->m_bmpObj.ObjId	      = obj.BmpObjID;
      bmp->m_bmpObj.ObjIdPoint.x	      = obj.IDpointX;
      bmp->m_bmpObj.ObjIdPoint.y	      = obj.IDpointY;
      bmp->m_bmpObj.Character	      = obj.Property;
      bmp->m_nGraphItemType	      = obj.PicPatternType;
      bmp->m_nPropertyType	      = obj.ProperType;
      bmp->m_nSerialNo		      = obj.BmpNo;
      bmp->m_bmpObj.BySite	      = obj.BySite;
      bmp->m_nDeviceModel	      = obj.DeviceMode;
      bmp->m_nSysNodeCode              = obj.SysNodeNo;
      bmp->m_nNodeCode                 = obj.NodeNo;
      bmp->m_PictureID                 = obj.PicID; //     printf("%s\n",bmp->m_PictureID.c_str());
      pic->m_pBmpList->push_back(bmp);
      i++;
   }
   fclose(fp);   printf("Leave Build bmpobject list\n");
}

void CMyPictures::BuildLineList(CMyPicture* pic,string fileName)
{
   printf("Enter Build lineobject list\n");
   FILE *fp;
   if( (fp = fopen(fileName.c_str(),"rb")) == 0)
   {
      printf("file open error\n");
      return;
   }
   int count = 0;
   fread(&count, sizeof(int), 1, fp);
   int i = 0;
   while( i < count)
   {
      TABLE_LINEOBJECT obj;
      fread( &obj, sizeof(TABLE_LINEOBJECT), 1, fp);      if( obj.PicID != pic->m_PicProperty.PicID)      {             i++;          continue;      }
      CPaintLine* line = new CPaintLine();
      line->m_lineObj.StartPoint.x	= obj.StartX;
      line->m_lineObj.StartPoint.y	= obj.StartY;
      line->m_lineObj.EndPoint.x	= obj.EndX;
      line->m_lineObj.EndPoint.y	= obj.EndY;
      line->m_lineObj.nCharacter	= obj.Property;
      line->m_lineObj.nLineColorPen	= obj.TextColor;
      line->m_lineObj.QiePoint.x	= obj.SecantX;
      line->m_lineObj.QiePoint.y	= obj.SecantY;
      line->m_nGraphItemType		= obj.Type;
      line->m_nPropertyType		= obj.ProperType;
      line->m_nSerialNo			= obj.LinNo;
      line->m_StID			= obj.StID;
      line->m_ObjID			= obj.ObjID;
      line->m_lineProperty.nNodeCode    = obj.NodeNo;
      line->m_nDeviceModel	        = obj.DeviceMode;
      line->m_nSysNodeCode              = obj.SysNodeNo;
      line->m_nNodeCode                 = obj.NodeNo;
      line->m_PictureID                 = obj.PicID;
      pic->m_pLineList->push_back(line);
      i++;
   }
   fclose(fp);   printf("Leave Build lineobject list\n");
}

void CMyPictures::BuildTextList(CMyPicture* pic,string fileName)
{
   printf("Enter Build textobject list\n");
   FILE *fp;
   if( (fp = fopen(fileName.c_str(),"rb")) == 0)
   {
      printf("file open error\n");
      return;
   }
   int count = 0;
   fread(&count, sizeof(int), 1, fp);
   int i = 0;
   while( i < count)
   {
      TABLE_TEXTOBJECT obj;
      fread( &obj, sizeof(TABLE_TEXTOBJECT), 1, fp);      if( obj.PicID != pic->m_PicProperty.PicID)      {          i++;          continue;      }
      CPaintText* text = new CPaintText();
      text->m_nGraphItemType		= obj.ObjID;
      text->m_textObj.TextRect.left	= obj.MarkPointX;
      text->m_textObj.TextRect.top	= obj.MarkPointY;
      text->m_textObj.TextRect.right	= obj.EndPointX;
      text->m_textObj.TextRect.bottom	= obj.EndPointY;
      text->m_textObj.nCharacter		= obj.Property;
      text->m_textObj.nTextColor		= obj.TextColor;
      text->m_textObj.nTextFont		= obj.TextFont;
      text->m_textObj.nTextHeight	= obj.TextHeight;
      text->m_textObj.nTextWid		= obj.TextWidth;
      text->m_textObj.Text		= obj.TextStr;      printf("TextStr=%s\n",obj.TextStr);
      text->m_nPropertyType		= obj.ProperType;
      text->m_nSerialNo			= obj.TextNo;
      text->m_textObj.nTextBkColor	= obj.TextBKColor;
      text->m_nDeviceModel		= obj.DeviceMode;
      text->m_PictureID = obj.PicID;
      pic->m_pTextList->push_back(text);
      i++;
   }
   fclose(fp);   printf("Leave Build textobject list\n");
}
void CMyPictures::BuildValueList(CMyPicture* pic, string fileName)
{   fileName = "";
   printf("Enter Build valueobject list\n");   printf("Leave Build valueobject list\n");

}

void CMyPictures::BuildBlockList(CMyPicture* pic, string fileName)
{ 
   printf("Enter blockobject list\n");
   FILE *fp;
   if( (fp = fopen(fileName.c_str(),"rb")) == 0)
   {
      printf("file open error\n");
      return;
   }
   int count = 0;
   fread(&count, sizeof(int), 1, fp);
   int i = 0;
   while( i < count)
   {
      TABLE_STANDARDBLOCKOBJ obj;
      fread( &obj, sizeof(TABLE_STANDARDBLOCKOBJ), 1, fp);      if( obj.PicID != pic->m_PicProperty.PicID)      {             i++;             continue;      }
      CPaintStdblock* block = new CPaintStdblock();
      block->m_nGraphItemType		= obj.PicPatternType;
      block->m_nPropertyType		= obj.ObjType;
      block->m_stdblockObj.nCharacter	= obj.Property;
      block->m_stdblockObj.nPen		= obj.Pen;
      block->m_stdblockObj.nFillColor	= obj.FillColor;
      block->m_stdblockObj.ObjId		= obj.SBObjID;	
      block->m_nSerialNo			= obj.SBObjNo;
      block->m_stdblockObj.pointStart.x  = obj.MarkPointX1;
      block->m_stdblockObj.pointStart.y  = obj.MarkPointY1;
      block->m_stdblockObj.pointEnd.x    = obj.MarkPointX2;
      block->m_stdblockObj.pointEnd.y    = obj.MarkPointY2;
      block->m_stdblockObj.pointOther.x  = obj.MarkPointX3;
      block->m_stdblockObj.pointOther.y  = obj.MarkPointY3;
      block->m_stdblockObj.ObjIdPoint.x  = obj.IDpointX;
      block->m_stdblockObj.ObjIdPoint.y  = obj.IDpointY;
      block->m_stdblockObj.bySite        = obj.BySite;
      block->m_nDeviceModel		= obj.DeviceMode;
      block->m_StID                      = obj.StID;
      block->m_ObjID                     = obj.SBObjID;
      block->m_nSysNodeCode              = obj.SysNodeNo;		
      block->m_nNodeCode                 = obj.NodeNo;      block->m_PictureID = obj.PicID;
      pic->m_pBlockList->push_back(block);
      i++;
   }
   fclose(fp);   printf("Leave Built blockobject list\n");
}

void CMyPictures::BuildComboList(CMyPicture* pic, string fileName)
{   fileName ="";
   printf("Enter Built Combo list\n");   printf("Leave Built Combo list\n");
}

⌨️ 快捷键说明

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