Class: Toybox::Graphics::Dc

Inherits:
Lang::Object show all

Overview

Note:

You should never directly instantiate a Dc object, or attempt to render to the screen outside of an onUpdate call.

This class represents a device context.

It provides methods to perform drawing operations on the device.

Examples:

Draws a blue rectangle using direct pixel parameters.

using Toybox.Graphics;
function onUpdate(dc) {
    dc.setColor(Graphics.COLOR_BLUE, Graphics.COLOR_BLACK);
    dc.fillRectangle(100, 100, 100, 100);
}

Draws a red circle using direct pixel parameters.

using Toybox.Graphics;
function onUpdate(dc) {
    dc.setColor(Graphics.COLOR_RED, Graphics.COLOR_BLACK);
    dc.fillCircle(50, 100, 75);
}

Draws “Hello World” in the center of the screen using calls to the Device Context (dc).

using Toybox.Graphics;
function onUpdate(dc) {
    dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_TRANSPARENT);
    dc.drawText(
        dc.getWidth() / 2,                      // gets the width of the device and divides by 2
        dc.getHeight() / 2,                     // gets the height of the device and divides by 2
        dc.FONT_LARGE,                          // sets the font size
        "Hello World",                          // the String to display
        Graphics.TEXT_JUSTIFY_CENTER            // sets the justification for the text
                );
}

Clears the screen of device with background color (Graphics.COLOR_BLACK).

using Toybox.Graphics;
function onUpdate(dc) {
    dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_BLACK);
    dc.clear();
}

Since:

  • 1.0.0

Instance Method Summary collapse

Methods inherited from Lang::Object

equals, hashCode, method, toString, weak

Instance Method Details

clearObject

Erase the screen using the background color.

Since:

  • 1.0.0



3831
3832
# File 'Monkeybrains.rb', line 3831

def clear()
end

clearClipObject

Reset the drawable area to the full area of the Dc.

Since:

  • 2.3.0



4021
4022
# File 'Monkeybrains.rb', line 4021

def clearClip()
end

drawArc(x, y, r, attr, degreeStart, degreeEnd) ⇒ Object

Draw an arc.

  • 0 degrees: 3 o'clock position.

  • 90 degrees: 12 o'clock position.

  • 180 degrees: 9 o'clock position.

  • 270 degrees: 6 o'clock position.

Parameters:

Since:

  • 1.2.0



4067
4068
# File 'Monkeybrains.rb', line 4067

def drawArc(x, y, r, attr, degreeStart, degreeEnd)
end

drawBitmap(x, y, rez) ⇒ Object

Draw a bitmap to the screen.

Parameters:

Raises:

Since:

  • 1.0.0



3894
3895
# File 'Monkeybrains.rb', line 3894

def drawBitmap(x, y, rez)
end

drawCircle(x, y, radius) ⇒ Object

Draw a circle around a point.

Parameters:

Since:

  • 1.0.0



3839
3840
# File 'Monkeybrains.rb', line 3839

def drawCircle(x, y, radius)
end

drawEllipse(x, y, a, b) ⇒ Object

Draw an ellipse around a point.

Parameters:

Since:

  • 1.0.0



3850
3851
# File 'Monkeybrains.rb', line 3850

def drawEllipse(x, y, a, b)
end

drawLine(x1, y1, x2, y2) ⇒ Object

Draw a line between two points.

Parameters:

Since:

  • 1.0.0



3903
3904
# File 'Monkeybrains.rb', line 3903

def drawLine(x1, y1, x2, y2)
end

drawPoint(x, y) ⇒ Object

Draw a point on the screen.

Parameters:

Since:

  • 1.0.0



3857
3858
# File 'Monkeybrains.rb', line 3857

def drawPoint(x, y)
end

drawRectangle(x, y, width, height) ⇒ Object

Draw a rectangle.

Parameters:

Since:

  • 1.0.0



3867
3868
# File 'Monkeybrains.rb', line 3867

def drawRectangle(x, y, width, height)
end

drawRoundedRectangle(x, y, width, height, radius) ⇒ Object

Draw a rounded rectangle.

Parameters:

Since:

  • 1.0.0



3878
3879
# File 'Monkeybrains.rb', line 3878

def drawRoundedRectangle(x, y, width, height, radius)
end

drawText(x, y, font, text, justification) ⇒ Object

Draw text at the given location.

This method is not supported for anti-aliased fonts (including most built in fonts) for a BufferedBitmap that has a palette.

Parameters:

Raises:

Since:

  • 1.0.0



3970
3971
# File 'Monkeybrains.rb', line 3970

def drawText(x, y, font, text, justification)
end

fillCircle(x, y, radius) ⇒ Object

Fill a circle with the foreground color.

Parameters:

Since:

  • 1.0.0



3911
3912
# File 'Monkeybrains.rb', line 3911

def fillCircle(x, y, radius)
end

fillEllipse(x, y, a, b) ⇒ Object

Fill an ellipse with the foreground color.

Parameters:

Since:

  • 1.0.0



3922
3923
# File 'Monkeybrains.rb', line 3922

def fillEllipse(x, y, a, b)
end

fillPolygon(pts) ⇒ Object

Fill a polygon with the foreground color.

Parameters:

Since:

  • 1.0.0



3929
3930
# File 'Monkeybrains.rb', line 3929

def fillPolygon(pts)
end

fillRectangle(x, y, width, height) ⇒ Object

Fill a rectangle with the foreground color.

Parameters:

Since:

  • 1.0.0



3939
3940
# File 'Monkeybrains.rb', line 3939

def fillRectangle(x, y, width, height)
end

fillRoundedRectangle(x, y, width, height, radius) ⇒ Object

Fill a rounded rectangle with the foreground color.

Parameters:

Since:

  • 1.0.0



3950
3951
# File 'Monkeybrains.rb', line 3950

def fillRoundedRectangle(x, y, width, height, radius)
end

getFontHeight(font) ⇒ Toybox::Lang::Number

Get the height of a font.

Parameters:

Returns:

Since:

  • 1.0.0



4049
4050
# File 'Monkeybrains.rb', line 4049

def getFontHeight(font)
end

getHeightToybox::Lang::Number

Get the height of the display region that is available to the app.

Returns:

Since:

  • 1.0.0



4033
4034
# File 'Monkeybrains.rb', line 4033

def getHeight()
end

getTextDimensions(text, font) ⇒ Toybox::Lang::Array

Get the width and height of a String.

This takes new lines into account when determining the height. The width is the maximum width for a given line of the String. If a String has two newline characters (\n) in it, the height would be for three lines and the width would be the width of the longest String.

Parameters:

Returns:

Since:

  • 1.0.0



3986
3987
# File 'Monkeybrains.rb', line 3986

def getTextDimensions(text, font)
end

getTextWidthInPixels(text, font) ⇒ Toybox::Lang::Number

Get the width of a String.

Parameters:

Returns:

Since:

  • 1.0.0



4042
4043
# File 'Monkeybrains.rb', line 4042

def getTextWidthInPixels(text, font)
end

getWidthToybox::Lang::Number

Get the width of the display region that is available to the app.

Returns:

Since:

  • 1.0.0



4027
4028
# File 'Monkeybrains.rb', line 4027

def getWidth()
end

setClip(x, y, width, height) ⇒ Object

Apply a clipping region to the Dc.

Pixels outside of the region will not be affected by any operations.

Parameters:

Since:

  • 2.3.0



4016
4017
# File 'Monkeybrains.rb', line 4016

def setClip(x, y, width, height)
end

setColor(foreground, background) ⇒ Object

Set the current foreground and background colors.

Parameters:

  • foreground (Toybox::Lang::Number)

    Graphics.COLOR_* constant or 24-bit integer of the form 0xRRGGBB.

  • background (Toybox::Lang::Number)

    Graphics.COLOR_* constant or 24-bit integer of the form 0xRRGGBB.

Since:

  • 1.0.0



3995
3996
# File 'Monkeybrains.rb', line 3995

def setColor(foreground, background)
end

setPenWidth(width) ⇒ Object

Set the width of a line.

Parameters:

Since:

  • 1.0.0



4001
4002
# File 'Monkeybrains.rb', line 4001

def setPenWidth(width)
end