Skip to content

New example circle #37

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions docs/examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,48 @@ Ensure your device works with this simple test.
.. literalinclude:: ../examples/display_shapes_simpletest.py
:caption: examples/display_shapes_simpletest.py
:linenos:

Simple test MagTag
------------------

Simple test with the MagTag.

.. literalinclude:: ../examples/display_shapes_simpletest_magtag.py
:caption: examples/display_shapes_simpletest_magtag.py
:linenos:

Sparkline Simple Test
---------------------

Simple test with Sparklines

.. literalinclude:: ../examples/display_shapes_sparkline_simpletest.py
:caption: examples/display_shapes_sparkline_simpletest.py
:linenos:

Sparkline Ticks Example
-----------------------

Example using tick with the Sparkline class

.. literalinclude:: ../examples/display_shapes_sparkline_ticks.py
:caption: examples/display_shapes_sparkline_ticks.py
:linenos:

Sparkline Triple Test
---------------------

reate background bitmaps and sparklines

.. literalinclude:: ../examples/display_shapes_sparkline_triple.py
:caption: examples/display_shapes_sparkline_triple.py
:linenos:

Circle Animation
----------------

Example showing the features of the new Circle setter

.. literalinclude:: ../examples/display_shapes_circle_animation.py
:caption: examples/display_shapes_circle_animation.py
:linenos:
60 changes: 60 additions & 0 deletions examples/display_shapes_circle_animation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT

"""
This is an animation to demonstrate the use of Circle Setter Attribute.
"""

import time
import gc
import board
import displayio
from adafruit_display_shapes.circle import Circle

# use built in display (MagTag, PyPortal, PyGamer, PyBadge, CLUE, etc.)
# see guide for setting up external displays (TFT / OLED breakouts, RGB matrices, etc.)
# https://learn.adafruit.com/circuitpython-display-support-using-displayio/display-and-display-bus
display = board.DISPLAY

# Make the display context
main_group = displayio.Group(max_size=2)

# Make a background color fill
color_bitmap = displayio.Bitmap(display.width, display.height, 1)
color_palette = displayio.Palette(1)
color_palette[0] = 0xFFFFFF
bg_sprite = displayio.TileGrid(color_bitmap, pixel_shader=color_palette, x=0, y=0)
main_group.append(bg_sprite)

# Setting up the Circle starting position
posx = 50
posy = 50

# Define Circle characteristics
circle_radius = 20
circle = Circle(posx, posy, circle_radius, fill=0x00FF00, outline=0xFF00FF)
main_group.append(circle)

# Define Circle Animation Steps
delta_x = 2
delta_y = 2

# Showing the items on the screen
display.show(main_group)

while True:

if circle.y + circle_radius >= display.height - circle_radius:
delta_y = -1
if circle.x + circle_radius >= display.width - circle_radius:
delta_x = -1
if circle.x - circle_radius <= 0 - circle_radius:
delta_x = 1
if circle.y - circle_radius <= 0 - circle_radius:
delta_y = 1

circle.x = circle.x + delta_x
circle.y = circle.y + delta_y

time.sleep(0.02)
gc.collect()