Prog::Prog(const Theme & theme, ALLEGRO_DISPLAY *display) : d(Dialog(theme, display, 640, 480)) { for (int i = 0; i < SLIDERS_COUNT; i++) { int j = i < 12 ? i / 3 : 4; sliders[i] = VSlider(1000, 1000); d.add(sliders[i], 8 + i * 32 + j * 16, 8, 15, 256); labels[i].set_text(names[i]); d.add(labels[i], i * 32 + j * 16, 8 + 256, 32, 20); d.add(labels2[i], i * 32 + j * 16, 8 + 276, 32, 20); previous[i] = 0; } }
Prog::Prog(const Theme & theme, ALLEGRO_DISPLAY *display) : d(Dialog(theme, display, 20, 40)), memory_label(Label("Memory")), texture_label(Label("Texture")), source_label(Label("Source", false)), destination_label(Label("Destination", false)), source_image(List(0)), destination_image(List(1)), draw_mode(List(0)) { d.add(memory_label, 9, 0, 10, 2); d.add(texture_label, 0, 0, 10, 2); d.add(source_label, 1, 15, 6, 2); d.add(destination_label, 7, 15, 6, 2); List *images[] = {&source_image, &destination_image, &draw_mode}; for (int i = 0; i < 3; i++) { List & image = *images[i]; if (i < 2) { image.append_item("Mysha"); image.append_item("Allegro"); image.append_item("Mysha (tinted)"); image.append_item("Allegro (tinted)"); image.append_item("Color"); } else { image.append_item("original"); image.append_item("scaled"); image.append_item("rotated"); } d.add(image, 1 + i * 6, 17, 4, 6); } for (int i = 0; i < 4; i++) { operation_label[i] = Label(i % 2 == 0 ? "Color" : "Alpha", false); d.add(operation_label[i], 1 + i * 3, 24, 3, 2); List &l = operations[i]; l.append_item("ONE"); l.append_item("ZERO"); l.append_item("ALPHA"); l.append_item("INVERSE"); d.add(l, 1 + i * 3, 25, 3, 6); } for (int i = 4; i < 6; i++) { operation_label[i] = Label(i == 4 ? "Blend op" : "Alpha op", false); d.add(operation_label[i], 1 + i * 3, 24, 3, 2); List &l = operations[i]; l.append_item("ADD"); l.append_item("SRC_MINUS_DEST"); l.append_item("DEST_MINUS_SRC"); d.add(l, 1 + i * 3, 25, 3, 6); } rgba_label[0] = Label("RGBA"); rgba_label[1] = Label("RGBA"); d.add(rgba_label[0], 1, 32, 4, 1); d.add(rgba_label[1], 7, 32, 4, 1); d.add(rgba_label[2], 13, 32, 4, 1); for (int i = 0; i < 2; i++) { r[i] = VSlider(255, 255); g[i] = VSlider(255, 255); b[i] = VSlider(255, 255); a[i] = VSlider(255, 255); d.add(r[i], 1 + i * 6, 33, 1, 6); d.add(g[i], 2 + i * 6, 33, 1, 6); d.add(b[i], 3 + i * 6, 33, 1, 6); d.add(a[i], 4 + i * 6, 33, 1, 6); } }