From fbdd82c5872eff2099edfbb0888191dc1a08be3d Mon Sep 17 00:00:00 2001 From: randomuser Date: Sun, 26 Feb 2023 21:39:29 -0600 Subject: [PATCH] remove trivial technology section, site is down --- README.md | 3 -- sane_hello.c | 137 --------------------------------------------------- 2 files changed, 140 deletions(-) delete mode 100644 sane_hello.c diff --git a/README.md b/README.md index e551c26..212e24d 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,5 @@ OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to -## trivial technology -archival should be available for everyone, and the systems behind this project should be easy to understand, so it's trivial technology. see . - ## contact randomuser at tilde dot club diff --git a/sane_hello.c b/sane_hello.c deleted file mode 100644 index 51b3f41..0000000 --- a/sane_hello.c +++ /dev/null @@ -1,137 +0,0 @@ -#include -#include -#include -#include -#include - -typedef struct { - uint8_t red; - uint8_t green; - uint8_t blue; -} pixel_t; - -typedef struct { - pixel_t *pixels; - size_t width; - size_t height; -} bitmap_t; - -pixel_t *pixel_at(bitmap_t * bitmap, int x, int y) { - return bitmap->pixels + bitmap->width * y + x; -} - -int pngtofile(bitmap_t *bitmap, FILE *fp) { - png_structp png_ptr = NULL; - png_infop info_ptr = NULL; - size_t x, y; - png_byte **row_pointers = NULL; - - int status = -1; - int pixel_size = 3; - int depth = 8; - - png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - info_ptr = png_create_info_struct(png_ptr); - png_set_IHDR(png_ptr, info_ptr, - bitmap->width, bitmap->height, - depth, - PNG_COLOR_TYPE_RGB, - PNG_INTERLACE_NONE, - PNG_COMPRESSION_TYPE_DEFAULT, - PNG_FILTER_TYPE_DEFAULT); - - row_pointers = png_malloc(png_ptr, bitmap->height * sizeof (png_byte *)); - - for(y = 0; y < bitmap->height; y++) { - png_byte *row = png_malloc(png_ptr, sizeof (uint8_t) * bitmap->width * pixel_size); - row_pointers[y] = row; - for(x = 0; x < bitmap->width; x++) { - pixel_t * pixel = pixel_at(bitmap, x, y); - *row++ = pixel->red; - *row++ = pixel->green; - *row++ = pixel->blue; - } - } - - png_init_io(png_ptr, fp); - png_set_rows(png_ptr, info_ptr, row_pointers); - png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, NULL); - - status = 0; - - return status; -} - -int main(void) { - SANE_Status status; - SANE_Option_Descriptor *desc; - SANE_Int vc = SANE_VERSION_CODE(SANE_CURRENT_MAJOR, 1, 10); - SANE_Device **device_list; - SANE_Handle h; - SANE_Parameters p; - SANE_Int cap; - FILE *file = fopen("lsakjfsalkfd.png", "w"); - - status = sane_init(&vc, NULL); - sane_get_devices(&device_list, SANE_FALSE); - - for(int i = 0; device_list[i]; i++) { - printf("%s %s %s %s\n", device_list[i]->name, - device_list[i]->vendor, - device_list[i]->model, - device_list[i]->type); - } - if(device_list[0]) sane_open(device_list[0]->name, &h); - sane_get_parameters(h, &p); - /* - printf("%i %i %i\n", p.pixels_per_line, p.lines, p.format); - */ - const SANE_Byte *storage = malloc(p.bytes_per_line * p.lines); - if(!storage) abort(); - desc = sane_get_option_descriptor(h, (SANE_Int)0); - printf("%i\n", desc->cap); - int f; - sane_control_option(h, 0, SANE_ACTION_GET_VALUE, &f, NULL); - cap = f; - for(int i = 0; i < cap; i++) { - desc = sane_get_option_descriptor(h, (SANE_Int)i); - printf("|%i|%s|%s|%s|\n", i, desc->name, desc->title, desc->desc); - } - - for(int i = 8; i < 12; i++) { - int hello; - sane_control_option(h, i, SANE_ACTION_GET_VALUE, &hello, NULL); - printf("%i\n", hello); - } - desc = sane_get_option_descriptor(h, 10); - printf("%i\n", desc->unit); - SANE_Int info = 0; - char valone[100]; - char valtwo[100]; - sane_control_option(h, 10, SANE_ACTION_GET_VALUE, &valone, NULL); - sane_control_option(h, 11, SANE_ACTION_GET_VALUE, &valtwo, NULL); - printf("%s %s\n", valone, valtwo); -// sane_control_option(h, - - sane_start(h); - SANE_Int len; - SANE_Byte *buf = storage; - for(;;) { - status = sane_read(h, buf, (SANE_Int)80, (SANE_Int *)&len); - buf += (int)len; - if(status == SANE_STATUS_EOF) break; - } - bitmap_t *bitmap = malloc(sizeof *bitmap); - bitmap->width = p.pixels_per_line; - bitmap->height = p.lines; - - bitmap->pixels = (pixel_t *)storage; - - pngtofile(bitmap, file); - - sane_close(h); - - sane_exit(); - - return 0; -}