示例#1
0
 internal PrintMaster(DTPMaster master, float Xmm, float Ymm, UInt32 statusRequestInterval) : base(master)
 {
     StatusRequestInterval = statusRequestInterval;
     ph            = new PlotterPacketHandler(master.Sender, master.Listener);
     XMM           = Xmm;
     YMM           = Ymm;
     ContentMaster = new PlotterContent(Master);
 }
        internal VectorMetaData(byte[] data, PlotterContent parrent)
        {
            LoadedPreview = false;
            Parrent       = parrent;
            UInt16 stringLen = (UInt16)(data[0] | (data[1] << 8));

            Type   = (VectType)data[stringLen + 2];
            Height = (UInt16)(data[stringLen + 3] | (data[stringLen + 4] << 8));
            Width  = (UInt16)(data[stringLen + 5] | (data[stringLen + 6] << 8));
            Name   = new string(data.Skip(2).Take(stringLen).ToList().FindAll(p => p != 0).Select(p => (char)p).ToArray());
        }
示例#3
0
        public void BeginPrinting(UInt16 Index, PlotterPenInfo Pen)
        {
            DTPMaster.CheckConnAndVal();

            StartTime = DateTime.Now;
            if (ContentMaster == null)
            {
                ContentMaster = new PlotterContent(Master);
            }

            if (!ContentMaster.ContentTable.VectorAdresses.Contains(Index))
            {
                RaiseErrorEvent(PrintErrorType.CantFoundFileWithSpecifiedIndex);
                return;
            }
            VectorMetaData metaData = ContentMaster.GetVectorMetaData(Index);

            if (XSize == 0)
            {
                XSize = GetXsize(metaData.Width, metaData.Height, YSize);
            }
            else
            {
                YSize = GetYsize(metaData.Width, metaData.Height, XSize);
            }
            GetCoefficients(new SizeF(metaData.Width, metaData.Height));
            try
            {
                ph.StartPrinting(Pen.ElevationDelta, Pen.ElevationCorrection, (UInt16)XCoef, (UInt16)YCoef, Index);
            }
            catch
            {
                RaiseErrorEvent(PrintErrorType.CantFoundFileWithSpecifiedIndex);
                return;
            }
            Printing = true;

            Thread.Sleep(1000);

            StatusRequestTimer = new Thread(StatusRequestTimerHandler);
            StatusRequestTimer.Start();
        }
 internal VectorMetaData(PlotterContent parrent)
 {
     LoadedPreview = false;
     Parrent       = parrent;
 }