Skip to content

Commit 87358f8

Browse files
committed
trying to check next pixel
1 parent 158048e commit 87358f8

File tree

1 file changed

+81
-4
lines changed

1 file changed

+81
-4
lines changed

shared-module/bitmaptools/__init__.c

Lines changed: 81 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
* THE SOFTWARE.
2525
*/
2626

27+
#include <string.h>
2728

2829
#include "shared-bindings/bitmaptools/__init__.h"
2930
#include "shared-bindings/displayio/Bitmap.h"
@@ -269,16 +270,92 @@ void common_hal_bitmaptools_paint_fill(displayio_bitmap_t *destination,
269270
fillArea.append((x - 1, y))
270271
fillArea.append((x, y + 1))
271272
fillArea.append((x, y - 1))*/
272-
mp_obj_list_t *fill_area;
273273

274+
mp_obj_t fill_area = mp_obj_new_list(0, NULL);
275+
mp_obj_t point[] = { mp_obj_new_int(x), mp_obj_new_int(y) };
276+
mp_obj_list_append(
277+
fill_area,
278+
mp_obj_new_tuple(2, point)
279+
);
274280
//mp_obj_list_t *point;
275281
//mp_obj_list_append(point, x);
276282
//mp_obj_list_append(point, y);
277283

278-
mp_obj_list_append(MP_OBJ_FROM_PTR(*fill_area), MP_OBJ_NEW_QSTR(qstr_from_str("hello")));
279284

280-
//mp_printf(&mp_plat_print, fill_area[0]);
281-
//mp_obj_print(mp_obj_list_pop(fill_area, 0), PRINT_STR);
285+
mp_obj_t *fill_points;
286+
size_t list_length = 0;
287+
mp_obj_list_get(fill_area, &list_length, &fill_points);
288+
mp_printf(&mp_plat_print, "\nLen bfore loop: %d", list_length);
289+
mp_obj_t current_point;
290+
uint32_t current_point_color_value;
291+
292+
size_t tuple_len = 0;
293+
mp_obj_t *tuple_items;
294+
295+
296+
while (list_length > 0){
297+
mp_obj_list_get(fill_area, &list_length, &fill_points);
298+
mp_printf(&mp_plat_print, "\nLen begin loop: %d\n", list_length);
299+
current_point = mp_obj_list_pop(fill_area, 0);
300+
301+
302+
//mp_obj_print(current_point, PRINT_STR);
303+
mp_obj_tuple_get(current_point, &tuple_len, &tuple_items);
304+
current_point_color_value = common_hal_displayio_bitmap_get_pixel(
305+
destination,
306+
mp_obj_get_int(tuple_items[0]),
307+
mp_obj_get_int(tuple_items[1]));
308+
309+
mp_printf(&mp_plat_print, "%d\n", current_point_color_value);
310+
311+
if(current_point_color_value != background_value){
312+
mp_obj_list_get(fill_area, &list_length, &fill_points);
313+
continue;
314+
}
315+
displayio_bitmap_write_pixel(
316+
destination,
317+
mp_obj_get_int(tuple_items[0]),
318+
mp_obj_get_int(tuple_items[1]),
319+
value);
320+
321+
322+
//mp_obj_t above_point[] = { mp_obj_new_int(tuple_items[0]), mp_obj_new_int(tuple_items[1])-1 };
323+
mp_printf(&mp_plat_print,"math:\n");
324+
mp_printf(&mp_plat_print, "%d\n", mp_obj_get_int(tuple_items[0]));
325+
mp_printf(&mp_plat_print, "%d\n", mp_obj_get_int(tuple_items[0])+1);
326+
int16_t above_int = mp_obj_get_int(tuple_items[0])+1;
327+
mp_printf(&mp_plat_print, "%d\n", above_int);
328+
int16_t *above = &above_int;
329+
mp_printf(&mp_plat_print, "%d\n", above);
330+
331+
mp_obj_t above_point[] = {
332+
tuple_items[0],
333+
above};
334+
335+
mp_printf(&mp_plat_print,"above_point:\n");
336+
//mp_obj_print(above_point, PRINT_STR);
337+
mp_obj_list_append(
338+
fill_area,
339+
mp_obj_new_tuple(2, above_point));
340+
341+
mp_obj_list_get(fill_area, &list_length, &fill_points);
342+
mp_printf(&mp_plat_print, "\nLen end loop: %d\n", list_length);
343+
}
344+
345+
//mp_obj_print(fill_area, PRINT_STR);
346+
//mp_obj_print(current_point[0], PRINT_STR);
347+
348+
/*
349+
mp_printf(&mp_plat_print, "\nLen: %d", list_length);
350+
size_t tuple_len = 0;
351+
mp_obj_t *tuple_items;
352+
mp_obj_tuple_get(current_point[0], &tuple_len, &tuple_items);
353+
354+
//mp_obj_print(mp_obj_get_int(tuple_items[0])+1, PRINT_STR);
355+
356+
mp_printf(&mp_plat_print, "\n%d", mp_obj_get_int(tuple_items[0])+1);
357+
*/
358+
282359
}
283360

284361
void common_hal_bitmaptools_draw_line(displayio_bitmap_t *destination,

0 commit comments

Comments
 (0)