Options
All
  • Public
  • Public/Protected
  • All
Menu

Rect类

层次结构

  • Rect

Rect将一个二维矩形区域描述为左上角的点(x和y的值)和大小(宽度和高度的值).

使用静态函数 Rect.parseRect.stringify 与标准字符串表示形式进行转换,该表示形式与当前语言环境无关

当此类实例是 GraphObject 类或者 Diagram 或者 CommandHandler 或者 Tool 类的属性的值时,你应该将对象视为冻结或只读对象,不能修改其属性。 这允许属性返回值,而无需分配新实例。如果你需要使用该值进行自己的计算,请调用 copy 以使用可以修改的相同值创建一个新实例

许多方法会修改对象的属性,然后返回 "this" 对象的引用。分配新对象的唯一实例方法是 copy 方法。 静态方法 Rect.parse 还分配一个新对象。 center, position, 和 size 属性都分配并返回一个新对象

此类的 "Debug" 实现比 "Release" 实现明显慢,这主要是由于附加的错误检查

你不能从此类继承

Index

Constructors

constructor

  • 有4种构造方式: (), (Point, Point), (Point, Size), 和四个数字 (x, y, width, height)。 默认构造方式 (没有参数) 将生成 Rect(0,0,0,0)。

    Parameters

    • Optional x: Point | number

      左上角的点或者x的值

    • Optional y: Point | Size | number

      右下角的点或者y的值

    • Optional w: number

      如果指定了x,y,则使用的宽度,必须为非负数

    • Optional h: number

      如果指定了x,y,则使用的高度,必须为非负数

    Returns Rect

Properties

bottom : number

  • 获取或设置矩形底部的y轴值。它等于y值和高度的和

center : Point

  • 获取或设置此Rect中心的点,设置此属性只会改变X和Y值

centerX : number

  • 获取或设置Rect的水平中心X坐标

centerY : number

  • 获取或设置Rect的垂直中心Y坐标

height : number

  • 获取或设置Rect的高度,该值不能为负数

left : number

  • 获取或设置Rect最左边的值,这与X值相同

position : Point

  • 获取或设置Rect的X和Y轴位置作为点

right : number

  • 获取或设置Rect右侧的X轴值。这等于X值与宽度之和

size : Size

  • 获取或设置Rect的宽度和高度作为大小

top : number

  • 获取或设置Rect的最上边的值,这与Y值相同

width : number

  • 获取或设置Rect的宽度,该值不能为负数

x : number

  • 获取或设置Rect的左上角X坐标

y : number

  • 获取或设置Rect的左上角Y坐标

Methods

addMargin

  • 通过将给定的边距添加到Rect的每一侧来修改此Rect。

    see

    subtractMargin, grow, inflate

    Parameters

    • m: Margin

      添加到Rect的边距

    Returns Rect

    更大的Rect.

contains

  • contains(x: number, y: number, w?: number, h?: number): boolean
  • 指示此Rect是否包含给定的Point/ Rect

    see

    containsRect, containsPoint

    Parameters

    • x: number

      要包含在新边界中的Point或Rect的X坐标

    • y: number

      要包含在新边界中的Point或Rect的Y坐标

    • Optional w: number

      要包含在新边界中的Rect的宽度,默认为零

    • Optional h: number

      要包含在新边界中的Rect的高度,默认为零

    Returns boolean

    如果Point/Rect包含在此Rect中,则为true,否则为false。

Static contains

  • contains(rx: number, ry: number, rw: number, rh: number, x: number, y: number, w?: number, h?: number): boolean
  • 该静态函数指示Rect是否包含给定的Point/Rect

    Parameters

    • rx: number

      Rect的X坐标

    • ry: number

      Rect的Y坐标

    • rw: number

      Rect的宽度

    • rh: number

      Rect的高度

    • x: number

      Point或Rect的X坐标可能在范围内(RX, RY, RW, RH).

    • y: number

      Point或Rect的Y坐标可能在范围内(RX, RY, RW, RH).

    • Optional w: number

      要包含在新边界中的Rect的宽度,默认为0

    • Optional h: number

      要包含在新边界中的Rect的高度,默认为0

    Returns boolean

    如果Point/Rect包含在此Rect中,则为true,否则为false

containsPoint

  • containsPoint(p: Point): boolean
  • 表示此Rect是否包含给定的Point

    see

    containsRect, contains

    Parameters

    • p: Point

      要检查的Point

    Returns boolean

    如果Point包含在此Rect中,则为true,否则为false

containsRect

  • containsRect(r: Rect): boolean
  • 表示此Rect是否包含给定的Rect

    see

    containsPoint, contains

    Parameters

    • r: Rect

      要检查的Rect

    Returns boolean

    如果Rect包含在此Rect中,则为true,否则为false

Virtual copy

  • 使用相同的值创建此Rect的副本

    Returns Rect

equalTo

  • equalTo(x: number, y: number, w: number, h: number): boolean
  • 表示给定的Rect是否等于当前的Rect

    see

    equals

    Parameters

    • x: number
    • y: number
    • w: number

      宽度

    • h: number

      高度

    Returns boolean

    如果Rect的x, y, 宽度, 和高度都相等,则为true

equals

  • equals(r: Rect): boolean
  • 表示给定的Rect是否等于当前的Rect

    see

    equalTo

    Parameters

    • r: Rect

      与当前Rect进行比较的Rect

    Returns boolean

    如果Rect的x, y, 宽度, 和高度都相等,则为true

grow

  • grow(t: number, r: number, b: number, l: number): Rect
  • 通过向Rect的每一侧增加一些距离来修改此Rect

    see

    inflate, addMargin, subtractMargin

    Parameters

    • t: number

      将顶部向上移动的量,可能是负数

    • r: number

      将右边向右移动的量,可能是负数

    • b: number

      将下边向下移动的量,可能是负数

    • l: number

      将左边向左移动的量,可能是负数

    Returns Rect

    修改后的Rect.

inflate

  • inflate(w: number, h: number): Rect
  • 修改这个Rect,使它的宽度和高度在所有四个边都改变,在左边和右边相等,在顶部和底部相等。当参数为负数时,该操作收缩该Rect,但不超过0

    see

    grow, addMargin, subtractMargin

    Parameters

    • w: number

      左右各边的额外宽度,可能是负数

    • h: number

      顶部底部的额外高度,可能是负数

    Returns Rect

    this.

intersect

  • intersect(x: number, y: number, w: number, h: number): Rect
  • 修改此Rect,使其成为此Rect与x,y,w,h定义的Rect的交集

    see

    intersectRect, intersects

    Parameters

    • x: number
    • y: number
    • w: number
    • h: number

    Returns Rect

    this.

intersectRect

intersects

  • intersects(x: number, y: number, w: number, h: number): boolean
  • 确定此Rect是否部分或全部与x,y,w,h定义的Rect重叠

    see

    intersectsRect, intersect

    Parameters

    • x: number
    • y: number
    • w: number
    • h: number

    Returns boolean

    如果有重叠,则为true

Static intersects

  • intersects(rx: number, ry: number, rw: number, rh: number, x: number, y: number, w: number, h: number): boolean
  • 此静态函数表示Rect是否与给定Rect部分或者完全重叠

    Parameters

    • rx: number

      Rect的X坐标

    • ry: number

      Rect的Y坐标

    • rw: number

      Rect的宽度

    • rh: number

      Rect的高度

    • x: number

      Point或Rect的X坐标可能与边界(RX, RY, RW, RH)重叠

    • y: number

      Point或Rect的Y坐标可能与边界(RX, RY, RW, RH)重叠

    • w: number
    • h: number

    Returns boolean

    如果有重叠,则为true

intersectsRect

  • intersectsRect(r: Rect): boolean
  • 确定给定的Rect是否部分或全部在此Rect内部

    see

    intersects, intersectRect

    Parameters

    • r: Rect

      测试交集的Rect

    Returns boolean

    如果有交集,则为true

isEmpty

  • isEmpty(): boolean
  • 如果此Rect的宽度和高度为0,则为true

    Returns boolean

isReal

  • isReal(): boolean
  • 如果此Rect具有X, Y, 宽度, 和高度值是实数而不是无穷大,则为true

    Returns boolean

offset

  • offset(dx: number, dy: number): Rect
  • 通过给定的DX和DY偏移量移动其Rect值来修改此Rect

    Parameters

    • dx: number
    • dy: number

    Returns Rect

    this.

Static parse

  • parse(str: string): Rect
  • 此静态函数可用于从 Rect.stringify 生成的字符串中读取 Rect

    go.Rect.parse("1 2 3 4") 生成Rect new go.Rect(1, 2, 3, 4).

    Parameters

    • str: string

    Returns Rect

set

  • 修改此Rect,使其X, Y, 宽度, 和高度值与给定的Rect相同

    Parameters

    • r: Rect

      给定的Rect.

    Returns Rect

    this.

setPoint

  • 修改此Rect,使其X和Y值与给定的Point相同

    Parameters

    • p: Point

      给定的Point.

    Returns Rect

    this.

setSize

  • 修改此Rect,使其宽度和高度值与给定的Size相同

    Parameters

    • s: Size

      给定的Size.

    Returns Rect

    this.

setSpot

  • setSpot(x: number, y: number, spot: Spot): Rect
  • 修改此Rect,以使给定的Spot使用此Rect的大小位于给定的(x,y)Point,返回该点处的矩形,而无需修改大小

    如果 Spot.isNoSpot 为true,则结果将毫无意义

    Parameters

    • x: number

      point应该在spot哪里

    • y: number

      point应该在spot哪里

    • spot: Spot

      一个Spot; Spot.isSpot 必须为true.

    Returns Rect

    this.

setTo

  • setTo(x: number, y: number, w: number, h: number): Rect
  • 使用新的X, Y, 宽度和高度值修改此Rect

    Parameters

    • x: number
    • y: number
    • w: number

      宽度.

    • h: number

      高度.

    Returns Rect

    this.

Static stringify

  • stringify(val: Rect): string
  • 此静态函数可用于将 Rect 写为可被 Rect.parse 读取的字符串

    go.Rect.stringify(new go.Rect(1, 2, 3, 4)) 生成字符串 "1 2 3 4".

    Parameters

    Returns string

subtractMargin

  • 通过从Rect的每一侧减去给定的边距来修改此Rect

    see

    addMargin, grow, inflate

    Parameters

    • m: Margin

      Rect减去的边距

    Returns Rect

    较小的Rect.

union

  • union(x: number, y: number, w?: number, h?: number): Rect
  • 将此Rect修改为足够大,使其既包含原始Rect也包含给定的矩形区域

    see

    unionRect, unionPoint

    Parameters

    • x: number

      要包含在新边界中的Point或Rect的X坐标

    • y: number

      要包含在新边界中的Point或Rect的Y坐标

    • Optional w: number

      要包含在新边界中的Rect的宽度,默认为0

    • Optional h: number

      要包含在新边界中的Rect的高度,默认为0

    Returns Rect

    this.

unionPoint

  • 将此Rect修改为足够大,使其既包含原始Rect也包含给定的Point

    see

    unionRect, union

    Parameters

    • p: Point

      要包含在新边界中的点

    Returns Rect

    this.

unionRect

  • 将此Rect修改为足够大,使其既包含原始Rect也包含给定的Rect

    see

    unionPoint, union

    Parameters

    • r: Rect

      要包含在新边界中的Rect

    Returns Rect

    this.