亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? series.pas

?? 第三方控件:PaintGrid.pas 網格型儀表控件源文件 Mymeter.pas 圓型儀表控件源文件 Project1是這兩個控件的使用范例。 該
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
  inherited;
end;

function TCustomSeries.DoGetPointerStyle(ValueIndex:Integer):TSeriesPointerStyle;
begin
  if Assigned(FOnGetPointerStyle) then
     result:=FOnGetPointerStyle(Self,ValueIndex)
  else
     result:=Pointer.Style;
end;

Function TCustomSeries.ClickedPointer( ValueIndex,tmpX,tmpY:Integer;
                                       x,y:Integer):Boolean;
begin
  PreparePointer(ValueIndex); // 7.0

  result:=(DoGetPointerStyle(ValueIndex)<>psNothing) and
          (Abs(tmpX-X)<FPointer.HorizSize) and
          (Abs(tmpY-Y)<FPointer.VertSize);
end;

Procedure TCustomSeries.Assign(Source:TPersistent);
begin
  if Source is TCustomSeries then
  With TCustomSeries(Source) do
  begin
    Self.ClickableLine   :=ClickableLine;
    Self.AreaChartBrush  :=FAreaBrush;
    Self.FAreaColor      :=FAreaColor;
    Self.AreaLinesPen    :=AreaLinesPen;
    Self.FColorEachLine  :=ColorEachLine;
    Self.FDark3D         :=FDark3D;
    Self.FDrawArea       :=FDrawArea;
    Self.FDrawLine       :=FDrawLine;
    Self.FInvertedStairs :=FInvertedStairs;
    Self.FLineHeight     :=FLineHeight;
    Self.Pointer         :=FPointer;
    Self.FStacked        :=FStacked;
    Self.FStairs         :=FStairs;
    Self.OutLine         :=OutLine;
    Self.Shadow          :=Shadow;
    Self.FTransparency   :=FTransparency;
    Self.Gradient        :=FGradient;
  end;

  inherited;
end;

Function TCustomSeries.Clicked(x,y:Integer):Integer;
var OldXPos  : Integer;
    OldYPos  : Integer;
    tmpX     : Integer;
    tmpY     : Integer;
    P        : TPoint;

    Function CheckPointInLine:Boolean;

      Function PointInVertLine(x0,y0,y1:Integer):Boolean;
      begin
        result:=PointInLine(P,x0,y0,x0,y1);
      end;

      Function PointInHorizLine(x0,y0,x1:Integer):Boolean;
      begin
        result:=PointInLine(P,x0,y0,x1,y0);
      end;

    begin
      With ParentChart do
      if View3D then
         result:=PointInPolygon( P,[ TeePoint(tmpX,tmpY),
                                     TeePoint(tmpX+SeriesWidth3D,tmpY-SeriesHeight3D),
                                     TeePoint(OldXPos+SeriesWidth3D,OldYPos-SeriesHeight3D),
                                     TeePoint(OldXPos,OldYPos) ])
      else
         if FStairs then
         begin
            if FInvertedStairs then result:= PointInVertLine(OldXPos,OldYPos,tmpY) or
                                             PointInHorizLine(OldXPos,tmpY,tmpX)
                               else result:= PointInHorizLine(OldXPos,OldYPos,tmpX) or
                                             PointInVertLine(tmpX,OldYPos,tmpY);
         end
         else
            result:=PointInLine(P,tmpX,tmpY,OldXPos,OldYPos)
    end;

var t        : Integer;
    tmpFirst : Integer;
begin
  if Assigned(ParentChart) then
     ParentChart.Canvas.Calculate2DPosition(X,Y,StartZ);

  result:=inherited Clicked(x,y);

  if (result=TeeNoPointClicked) and
     (FirstValueIndex>-1) and (LastValueIndex>-1) then
  begin
    OldXPos:=0;
    OldYPos:=0;
    OldBottomPos:=0;
    P.X:=X;
    P.Y:=Y;

    // Consider hidden previous segment (including non-visible leftmost part)
    // TV52010286  7.05
    if ClickableLine then
       tmpFirst:=Max(0,Pred(FirstValueIndex))
    else
       tmpFirst:=FirstValueIndex;

    for t:=tmpFirst to LastValueIndex do
    begin
      if t>=Count then exit;  // prevent re-entrancy if series is cleared.

      tmpX:=CalcXPos(t);
      tmpY:=CalcYPos(t);

      if FPointer.Visible and ClickedPointer(t,tmpX,tmpY,x,y) then
      begin
        if Assigned(FOnClickPointer) then
           FOnClickPointer(Self,t,x,y);

        result:=t;
        break;
      end;

      if (tmpX=X) and (tmpY=Y) then
      begin
        result:=t;
        break;
      end;

      if (t>tmpFirst) and ClickableLine then
         if CheckPointInLine or
            ( FDrawArea and
               PointInPolygon( P,[ TeePoint(OldXPos,OldYPos),
                                   TeePoint(tmpX,tmpY),
                                   TeePoint(tmpX,GetOriginPos(t)),
                                   TeePoint(OldXPos,GetOriginPos(t-1)) ] )
            ) then
         begin
           result:=t-1;
           break;
         end;

      OldXPos:=tmpX;
      OldYPos:=tmpY;
      OldBottomPos:=BottomPos;
    end;
  end;
end;

Procedure TCustomSeries.SetDrawArea(Value:Boolean);
Begin
  SetBooleanProperty(FDrawArea,Value);
end;

Procedure TCustomSeries.SetPointer(Value:TSeriesPointer);
Begin
  FPointer.Assign(Value);
end;

Procedure TCustomSeries.SetShadow(Value:TTeeShadow);
begin
  FShadow.Assign(Value);
end;

Procedure TCustomSeries.SetAreaLinesPen(Value:TChartPen);
Begin
  FAreaLinesPen.Assign(Value);
end;

Procedure TCustomSeries.SetLineHeight(Value:Integer);
Begin
  SetIntegerProperty(FLineHeight,Value);
end;

Procedure TCustomSeries.SetStairs(Value:Boolean);
Begin
  SetBooleanProperty(FStairs,Value);
end;

Procedure TCustomSeries.SetInvertedStairs(Value:Boolean);
Begin
  SetBooleanProperty(FInvertedStairs,Value);
end;

Procedure TCustomSeries.SetAreaColor(Value:TColor);
Begin
  SetColorProperty(FAreaColor,Value);
end;

Procedure TCustomSeries.SetAreaBrushStyle(Value:TBrushStyle);
Begin
  FAreaBrush.Style:=Value;
end;

Function TCustomSeries.GetLineBrush:TBrushStyle;
Begin
  result:=Brush.Style;
end;

Procedure TCustomSeries.SetLineBrush(Value:TBrushStyle);
Begin
  Brush.Style:=Value;
end;

Procedure TCustomSeries.DrawLegendShape(ValueIndex:Integer; Const Rect:TRect);
Var tmpColor : TColor;

  Procedure DrawLine(DrawRectangle:Boolean);
  begin
    if TCustomChart(ParentChart).Legend.Symbol.DefaultPen then
       LinePrepareCanvas(ParentChart.Canvas,tmpColor);
    With ParentChart.Canvas do
    if DrawRectangle then Rectangle(Rect)
    else
    With Rect do DoHorizLine(Left,Right,(Top+Bottom) div 2);
  end;

begin
  if ValueIndex=TeeAllValues then tmpColor:=SeriesColor
                             else tmpColor:=LegendItemColor(ValueIndex); // 6.0

  if FPointer.Visible then
  begin
    if FDrawLine then DrawLine(False);
    TeePointerDrawLegend(Pointer,tmpColor,Rect,LinePen.Visible);
  end
  else
  if FDrawLine and (not FDrawArea) then
     DrawLine(ParentChart.View3D)
  else
     inherited
end;

procedure TCustomSeries.LinePrepareCanvas(tmpCanvas:TCanvas3D; tmpColor:TColor);
begin
  with tmpCanvas do
  begin
    if MonoChrome then tmpColor:=clWhite;

    if ParentChart.View3D then
    begin
      if Assigned(Self.Brush.Image.Graphic) then
         Brush.Bitmap:=Self.Brush.Image.Bitmap
      else
      begin
        Brush.Style:=LineBrush;
        Brush.Color:=tmpColor;
      end;

      AssignVisiblePen(LinePen);
    end
    else
    begin
      Brush.Style:=bsClear;
      AssignVisiblePenColor(LinePen,tmpColor);
    end;
  end;
end;

procedure TCustomSeries.PreparePointer(ValueIndex:Integer);
begin  // empty. Overriden at BubbleSeries
end;

Procedure TCustomSeries.SetParentChart(Const Value:TCustomAxisPanel);
begin
  inherited;
  if Assigned(FPointer) then FPointer.ParentChart:=Value;
end;

Function TCustomSeries.GetAreaBrushColor(AColor:TColor):TColor;
begin
  if ColorEachPoint or (FAreaColor=clTeeColor) then
     result:=AColor
  else
     result:=FAreaColor;
end;

type TCustomAxisPanelAccess=class(TCustomAxisPanel);

procedure TCustomSeries.DrawValue(ValueIndex:Integer);
Var x : Integer;
    y : Integer;

  { calculate vertical pixel }
  Function CalcYPosLeftRight(Const YLimit:Double; AnotherIndex:Integer):Integer;
  var tmpPredValueX : Double;
      tmpPredValueY : Double;
      tmpDif        : Double;
      tmpY          : Double;
  begin
    tmpPredValueX:=XValues.Value[AnotherIndex];
    tmpDif:=XValues.Value[ValueIndex]-tmpPredValueX;

    With ParentChart do
    if tmpDif=0 then result:=CalcYPos(AnotherIndex)
    else
    begin
      tmpPredValueY:=YValues.Value[AnotherIndex];

      if MandatoryAxis.Logarithmic then // 7.0 #1225
          tmpY:=Exp(Ln(tmpPredValueY)+(YLimit-tmpPredValueX)*
                   (Ln(YValues.Value[ValueIndex])-Ln(tmpPredValueY))/tmpDif)
      else
          tmpY:=1.0*tmpPredValueY+(YLimit-tmpPredValueX)*
                (YValues.Value[ValueIndex]-tmpPredValueY)/tmpDif;

      result:=CalcYPosValue(tmpY);
    end;
  end;


var tmpColor    : TColor;
    IsLastValue : Boolean;

   Procedure InternalDrawArea(BrushColor:TColor);

     Function RectFromPoints(const P:TFourPoints):TRect;
     begin
       with result do
       begin
         Left  :=Math.Min(P[3].X,Math.Min(P[2].X,Math.Min(P[0].X,P[1].X)));
         Top   :=Math.Min(P[3].Y,Math.Min(P[2].Y,Math.Min(P[0].Y,P[1].Y)));
         Right :=Math.Max(P[3].X,Math.Max(P[2].X,Math.Max(P[0].X,P[1].X)));
         Bottom:=Math.Max(P[3].Y,Math.Max(P[2].Y,Math.Max(P[0].Y,P[1].Y)));
       end;

       if ParentChart.View3D then
          result:=ParentChart.Canvas.CalcRect3D(result,StartZ); { 5.03 }
     end;

   var tmpY      : Integer;
       tmpBottom : Integer;
       tmpR      : TRect;
       tmpBlend  : TTeeBlend;
       tmpP      : TFourPoints;
       tmpMax    : Integer;
       tmpMin    : Integer;
       tmpColor2 : TColor;
       tmpZ      : Integer;
   begin
     With ParentChart do
     Begin
       tmpColor2:=FAreaBrush.Color;
       if tmpColor2=clTeeColor then tmpColor2:=SeriesColor;

       if Assigned(FAreaBrush.Image.Graphic) and (tmpColor2=BrushColor) then
          tmpColor2:=clWhite;  // 7.04 TV52010270

       SetBrushCanvas(BrushColor,FAreaBrush,tmpColor2);

       if View3D and IsLastValue then { to-do: not always ! }
          if YMandatory then
             Canvas.RectangleZ(X,Y,BottomPos,StartZ,EndZ)
          else
             Canvas.RectangleY(X,Y,BottomPos,StartZ,EndZ);

       if FStairs then
       begin
         if FInvertedStairs then
         begin
           if YMandatory then tmpY:=Y
                         else tmpY:=X;
           tmpBottom:=BottomPos;
         end
         else
         begin
           if YMandatory then tmpY:=OldY
                         else tmpY:=OldX;
           tmpBottom:=OldBottomPos;
         end;

         if YMandatory then tmpR:=TeeRect(OldX,tmpBottom,X+1,tmpY)
                       else tmpR:=TeeRect(tmpBottom,OldY+1,tmpY+1,Y);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲一区二区av在线| 丁香一区二区三区| 亚洲人成精品久久久久久| 欧美日韩高清一区二区| 国产69精品一区二区亚洲孕妇| 日本午夜精品一区二区三区电影 | 久久久久久久久久久久久夜| 欧洲日韩一区二区三区| 91蜜桃网址入口| 色婷婷综合视频在线观看| 成人免费视频视频| 欧美综合欧美视频| 成人黄色av电影| 成人一二三区视频| 91在线视频免费观看| 色婷婷亚洲婷婷| 欧美午夜在线一二页| 7777女厕盗摄久久久| 69久久99精品久久久久婷婷| 日韩亚洲欧美在线| 中文字幕乱码日本亚洲一区二区| 中文字幕一区二区三区四区| 亚洲欧美欧美一区二区三区| 亚洲曰韩产成在线| 亚洲制服丝袜在线| 午夜精品国产更新| 国产成人一级电影| 欧美日韩在线直播| 2021国产精品久久精品 | 国产午夜精品理论片a级大结局 | 色婷婷激情综合| 91精品国产福利在线观看 | 在线免费观看日本欧美| 欧美一级在线观看| 亚洲综合色视频| 开心九九激情九九欧美日韩精美视频电影 | 麻豆精品一二三| 国产精品伊人色| 4438成人网| 亚洲一区二区三区四区不卡| 美脚の诱脚舐め脚责91| 精品视频色一区| 国产精品色婷婷| 精品一区二区三区影院在线午夜| 91社区在线播放| 最新国产成人在线观看| 丁香网亚洲国际| 国产午夜久久久久| 国产精品一线二线三线精华| 精品国产一区a| 天天影视色香欲综合网老头| 欧美日韩激情在线| 午夜av一区二区| 欧美一区二区三区小说| 日韩主播视频在线| 日韩小视频在线观看专区| 日本午夜精品一区二区三区电影 | 欧美亚洲综合在线| 视频一区二区三区中文字幕| 91精品婷婷国产综合久久| 玉米视频成人免费看| 成人综合婷婷国产精品久久免费| 久久综合色8888| 久久精品噜噜噜成人88aⅴ| 日韩一区二区不卡| 午夜精品影院在线观看| 7777精品伊人久久久大香线蕉的| 日韩电影在线一区二区三区| 久久一日本道色综合| 91社区在线播放| 另类综合日韩欧美亚洲| 欧美激情一区在线观看| 欧美在线观看视频在线| 免费美女久久99| 亚洲综合激情小说| 欧美电影精品一区二区| 欧美自拍丝袜亚洲| 精品制服美女丁香| 久久亚洲精品小早川怜子| 日本韩国一区二区三区| 国产麻豆欧美日韩一区| 亚洲自拍偷拍九九九| 久久天堂av综合合色蜜桃网| 91精品国产91热久久久做人人| 国产成人精品www牛牛影视| 日韩avvvv在线播放| 亚洲午夜精品在线| 亚洲精品国产精品乱码不99 | 精品福利av导航| 欧美视频精品在线| 在线视频中文字幕一区二区| 国产99精品在线观看| 精品一区精品二区高清| 青青草原综合久久大伊人精品| 亚洲黄色片在线观看| 一区二区三区蜜桃| 18欧美亚洲精品| 一区二区日韩av| 亚洲九九爱视频| 亚洲成在人线免费| 日韩二区在线观看| 久久成人久久爱| 成人精品在线视频观看| 欧美色老头old∨ideo| 日韩精品在线一区二区| 国产精品卡一卡二卡三| 污片在线观看一区二区| 国产成人精品三级麻豆| 欧美—级在线免费片| 欧美在线观看视频一区二区三区 | 777a∨成人精品桃花网| 国产精品视频线看| 青青青伊人色综合久久| 91丨九色porny丨蝌蚪| 精品久久人人做人人爱| 一区二区三区在线视频观看| 久草精品在线观看| 欧美三级电影在线看| 亚洲少妇最新在线视频| 国产精品灌醉下药二区| 在线观看日韩一区| 2023国产精华国产精品| 欧美日韩一区不卡| 欧美日韩大陆在线| 国产精品每日更新| 国产又粗又猛又爽又黄91精品| 欧美午夜视频网站| 最新高清无码专区| 91在线观看下载| 国产精品欧美极品| 成人成人成人在线视频| 国产精品丝袜91| k8久久久一区二区三区| 中文字幕日本不卡| 91麻豆国产福利在线观看| 亚洲精品免费在线播放| 色菇凉天天综合网| 夜夜揉揉日日人人青青一国产精品 | 一区二区高清在线| 欧美久久高跟鞋激| 美国毛片一区二区| 中文字幕乱码一区二区免费| 91亚洲永久精品| 午夜视黄欧洲亚洲| 国产日产欧美一区| 99久久久国产精品| 日韩福利视频网| 中文字幕不卡在线播放| 一本一本久久a久久精品综合麻豆| 一区二区三区.www| 日韩欧美www| 91亚洲国产成人精品一区二三| 亚洲国产一区二区在线播放| 欧美一级高清片| 色综合久久88色综合天天6| 亚洲高清视频中文字幕| 国产午夜亚洲精品羞羞网站| 欧洲av在线精品| 成人自拍视频在线| 免费观看在线综合| 亚洲国产欧美日韩另类综合| 久久日韩粉嫩一区二区三区| 欧美日韩中文字幕一区| 成人91在线观看| 国产一区二区三区最好精华液| 亚洲成av人**亚洲成av**| 中文av一区特黄| 国产欧美精品国产国产专区| 欧美一区二区性放荡片| 欧美日韩免费一区二区三区| 成年人午夜久久久| 成人久久18免费网站麻豆| 成人网男人的天堂| 国产精一品亚洲二区在线视频| 男人的天堂亚洲一区| 午夜久久福利影院| 视频一区二区不卡| 日本亚洲电影天堂| 蜜臀久久久久久久| 精品一区二区av| 国产剧情一区在线| 成人黄色软件下载| 91麻豆成人久久精品二区三区| 91视频www| 日韩午夜精品电影| 久久综合久色欧美综合狠狠| 国产精品五月天| 亚洲在线成人精品| 奇米色一区二区三区四区| 狠狠色丁香婷综合久久| 国产精品18久久久久久久久| 成人激情动漫在线观看| 欧美午夜精品久久久久久超碰| 欧美人伦禁忌dvd放荡欲情| 欧美mv日韩mv国产| 国产精品福利一区二区| 亚洲成va人在线观看| 国产一区 二区 三区一级| 91精彩视频在线| 亚洲国产精品精华液ab|