Skip to content

Commit c70d02e

Browse files
committed
pybricks.media.Image: Add Image type.
Add an Image type to manipulate image and display. Refs pybricks/support#2154
1 parent 5da4fca commit c70d02e

File tree

12 files changed

+371
-1
lines changed

12 files changed

+371
-1
lines changed

bricks/_common/sources.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ PYBRICKS_PYBRICKS_SRC_C = $(addprefix pybricks/,\
6363
iodevices/pb_type_uart_device.c \
6464
iodevices/pb_type_iodevices_xbox_controller.c \
6565
media/pb_module_media.c \
66+
media/pb_type_image.c \
6667
nxtdevices/pb_module_nxtdevices.c \
6768
nxtdevices/pb_type_nxtdevices_colorsensor.c \
6869
nxtdevices/pb_type_nxtdevices_energymeter.c \

bricks/cityhub/mpconfigport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#define PYBRICKS_PY_IODEVICES (1)
3333
#define PYBRICKS_PY_IODEVICES_XBOX_CONTROLLER (0)
3434
#define PYBRICKS_PY_MEDIA (0)
35+
#define PYBRICKS_PY_MEDIA_IMAGE (0)
3536
#define PYBRICKS_PY_NXTDEVICES (0)
3637
#define PYBRICKS_PY_PARAMETERS (1)
3738
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)

bricks/essentialhub/mpconfigport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#define PYBRICKS_PY_IODEVICES (1)
3434
#define PYBRICKS_PY_IODEVICES_XBOX_CONTROLLER (1)
3535
#define PYBRICKS_PY_MEDIA (0)
36+
#define PYBRICKS_PY_MEDIA_IMAGE (0)
3637
#define PYBRICKS_PY_NXTDEVICES (0)
3738
#define PYBRICKS_PY_PARAMETERS (1)
3839
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)

bricks/ev3/mpconfigport.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
#define PYBRICKS_PY_HUBS (1)
3131
#define PYBRICKS_PY_IODEVICES (1)
3232
#define PYBRICKS_PY_IODEVICES_XBOX_CONTROLLER (0)
33-
#define PYBRICKS_PY_MEDIA (0)
33+
#define PYBRICKS_PY_MEDIA (1)
34+
#define PYBRICKS_PY_MEDIA_IMAGE (1)
3435
#define PYBRICKS_PY_NXTDEVICES (1)
3536
#define PYBRICKS_PY_PARAMETERS (1)
3637
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)

bricks/movehub/mpconfigport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#define PYBRICKS_PY_HUBS (1)
3030
#define PYBRICKS_PY_IODEVICES (0)
3131
#define PYBRICKS_PY_MEDIA (0)
32+
#define PYBRICKS_PY_MEDIA_IMAGE (0)
3233
#define PYBRICKS_PY_PARAMETERS (1)
3334
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)
3435
#define PYBRICKS_PY_PARAMETERS_BUTTON_REMOTE_ONLY (1)

bricks/nxt/mpconfigport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#define PYBRICKS_PY_HUBS (1)
3434
#define PYBRICKS_PY_IODEVICES (0)
3535
#define PYBRICKS_PY_MEDIA (0)
36+
#define PYBRICKS_PY_MEDIA_IMAGE (0)
3637
#define PYBRICKS_PY_NXTDEVICES (0)
3738
#define PYBRICKS_PY_PARAMETERS (1)
3839
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)

bricks/primehub/mpconfigport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
#define PYBRICKS_PY_IODEVICES (1)
3535
#define PYBRICKS_PY_IODEVICES_XBOX_CONTROLLER (1)
3636
#define PYBRICKS_PY_MEDIA (1)
37+
#define PYBRICKS_PY_MEDIA_IMAGE (0)
3738
#define PYBRICKS_PY_NXTDEVICES (0)
3839
#define PYBRICKS_PY_PARAMETERS (1)
3940
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)

bricks/technichub/mpconfigport.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#define PYBRICKS_PY_IODEVICES (1)
3333
#define PYBRICKS_PY_IODEVICES_XBOX_CONTROLLER (1)
3434
#define PYBRICKS_PY_MEDIA (0)
35+
#define PYBRICKS_PY_MEDIA_IMAGE (0)
3536
#define PYBRICKS_PY_NXTDEVICES (0)
3637
#define PYBRICKS_PY_PARAMETERS (1)
3738
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)

bricks/virtualhub/mpconfigvariant.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#define PYBRICKS_PY_HUBS (1)
2828
#define PYBRICKS_PY_IODEVICES (0)
2929
#define PYBRICKS_PY_MEDIA (1)
30+
#define PYBRICKS_PY_MEDIA_IMAGE (0)
3031
#define PYBRICKS_PY_NXTDEVICES (0)
3132
#define PYBRICKS_PY_PARAMETERS (1)
3233
#define PYBRICKS_PY_PARAMETERS_BUTTON (1)

pybricks/media.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SPDX-License-Identifier: MIT
2+
// Copyright (c) 2025 The Pybricks Authors
3+
4+
#ifndef PYBRICKS_INCLUDED_PYBRICKS_MEDIA_H
5+
#define PYBRICKS_INCLUDED_PYBRICKS_MEDIA_H
6+
7+
#include "py/mpconfig.h"
8+
9+
#if PYBRICKS_PY_MEDIA
10+
11+
#include "py/obj.h"
12+
13+
#if PYBRICKS_PY_MEDIA_IMAGE
14+
15+
extern const mp_obj_type_t pb_type_Image;
16+
17+
#endif // PYBRICKS_PY_MEDIA_IMAGE
18+
19+
#endif // PYBRICKS_PY_MEDIA
20+
21+
#endif // PYBRICKS_INCLUDED_PYBRICKS_MEDIA_H

0 commit comments

Comments
 (0)