From 8fd5bf4f83215dff9bf73f50ac115df50259ede5 Mon Sep 17 00:00:00 2001 From: Alligator-1 Date: Thu, 21 Mar 2024 22:13:27 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20https://github.?= =?UTF-8?q?com/zamtmn/zcad/issues/112?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zgl/drawers/uzglviewareageneral.pas | 24 +++++++------------ 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/cad_source/zengine/zgl/drawers/uzglviewareageneral.pas b/cad_source/zengine/zgl/drawers/uzglviewareageneral.pas index 663da8bf0..99200a7a3 100644 --- a/cad_source/zengine/zgl/drawers/uzglviewareageneral.pas +++ b/cad_source/zengine/zgl/drawers/uzglviewareageneral.pas @@ -417,7 +417,7 @@ procedure TGeneralViewArea.showcursor(var DC:TDrawContext); *) //glColor3ub(255, 255, 255); dc.drawer.startrender(TRM_WindowSpace,dc.DrawingContext.matrixs); - dc.drawer.SetColor(palette[ForeGroundColorIndex].RGB); + //dc.drawer.SetColor(palette[ForeGroundColorIndex].RGB); //oglsm.glColor3ubv(foreground); if param.seldesc.MouseFrameON then @@ -439,18 +439,14 @@ procedure TGeneralViewArea.showcursor(var DC:TDrawContext); dc.drawer.DrawLine2DInDCS(param.seldesc.Frame1.x,param.seldesc.Frame2.y, param.seldesc.Frame2.x,param.seldesc.Frame1.y); - if param.seldesc.MouseFrameInverse then - dc.drawer.SetPenStyle(TPS_Solid); if param.seldesc.MouseFrameInverse then begin - dc.drawer.SetDrawMode(TDM_XOR); dc.drawer.SetPenStyle(TPS_Dash); - end; - if param.seldesc.MouseFrameInverse then dc.drawer.SetColor(0,40,0,10) + end else dc.drawer.SetColor(0,0,40,10); - dc.drawer.SetDrawMode(TDM_XOR); + dc.drawer.SetDrawMode(TDM_OR); dc.drawer.DrawQuad2DInDCS(param.seldesc.Frame1.x,param.seldesc.Frame1.y,param.seldesc.Frame2.x,param.seldesc.Frame2.y); if param.seldesc.MouseFrameInverse then dc.drawer.SetPenStyle(TPS_Solid); @@ -671,17 +667,14 @@ function TGeneralViewArea.treerender; var currtime:TDateTime; Hour,Minute,Second,MilliSecond:word; - q1,q2:Boolean; begin if (sysvarRDMaxRenderTime<>0) then begin currtime:=now; decodetime(currtime-StartTime,Hour,Minute,Second,MilliSecond); - if (sysvarRDMaxRenderTime<>0) then - if (sysvarRDMaxRenderTime-MilliSecond)<0 then - exit(true); + if (sysvarRDMaxRenderTime-MilliSecond)<0 then + exit(true); end; - q1:=false; - q2:=false; + Result:=false; if Node.NodeData.infrustum=PDWG.Getpcamera.POSCOUNT then begin if (Node.NodeData.FulDraw=TDTFulDraw)or(Node.nul.count=0) then begin @@ -690,14 +683,14 @@ function TGeneralViewArea.treerender; if not treerender(PTEntTreeNode(node.pminusnode)^,StartTime,dc) then node.NodeData.minusdrawpos:=PDWG.Getpcamera.DRAWCOUNT else - q1:=true; + Result:=true; end; if assigned(node.pplusnode)then if node.NodeData.plusdrawpos<>PDWG.Getpcamera.DRAWCOUNT then begin if not treerender(PTEntTreeNode(node.pplusnode)^,StartTime,dc) then node.NodeData.plusdrawpos:=PDWG.Getpcamera.DRAWCOUNT else - q2:=true; + Result:=true; end; end; if node.NodeData.nuldrawpos<>PDWG.Getpcamera.DRAWCOUNT then begin @@ -706,7 +699,6 @@ function TGeneralViewArea.treerender; node.NodeData.nuldrawpos:=PDWG.Getpcamera.DRAWCOUNT; end; end; - result:=q1 or q2; end; procedure TGeneralViewArea.render; begin