URI: 
       Track API changes. - icy_draw - icy_draw is the successor to mystic draw. fork / mirror
  HTML git clone https://git.drkhsh.at/icy_draw.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 9f52deae153a5000fba76f273f93fb82c5e4a9fb
   DIR parent aec32757abbbd5c8aa1957ab66797055be2e38c9
  HTML Author: Mike Krüger <mkrueger@posteo.de>
       Date:   Mon,  2 Oct 2023 05:27:53 +0200
       
       Track API changes.
       
       Diffstat:
         M src/ui/dialogs/select_palette_dial… |      18 +++++++++++-------
         M src/ui/palette_editor.rs            |      12 ++++++++----
       
       2 files changed, 19 insertions(+), 11 deletions(-)
       ---
   DIR diff --git a/src/ui/dialogs/select_palette_dialog.rs b/src/ui/dialogs/select_palette_dialog.rs
       @@ -38,27 +38,31 @@ impl SelectPaletteDialog {
                let mut palettes = Vec::new();
                let mode = editor.buffer_view.lock().get_buffer().palette_mode;
        
       -        let mut dos = Palette::from_colors(DOS_DEFAULT_PALETTE.to_vec());
       +        let mut dos = Palette::from_slice(&DOS_DEFAULT_PALETTE);
                dos.title = fl!(crate::LANGUAGE_LOADER, "palette_selector-dos_default_palette");
                add_palette(&mut palettes, mode, (dos, PaletteSource::BuiltIn));
        
       -        let mut dos = Palette::from_colors(DOS_DEFAULT_PALETTE[0..8].to_vec());
       +        let mut dos = Palette::from_slice(&DOS_DEFAULT_PALETTE[0..8]);
                dos.title = fl!(crate::LANGUAGE_LOADER, "palette_selector-dos_default_low_palette");
                add_palette(&mut palettes, mode, (dos, PaletteSource::BuiltIn));
        
       -        let mut dos = Palette::from_colors(C64_DEFAULT_PALETTE.to_vec());
       +        let mut dos = Palette::from_slice(&C64_DEFAULT_PALETTE);
                dos.title = fl!(crate::LANGUAGE_LOADER, "palette_selector-c64_default_palette");
                add_palette(&mut palettes, mode, (dos, PaletteSource::BuiltIn));
        
       -        let mut dos = Palette::from_colors(EGA_PALETTE.to_vec());
       +        let mut dos = Palette::from_slice(&EGA_PALETTE);
                dos.title = fl!(crate::LANGUAGE_LOADER, "palette_selector-ega_default_palette");
                add_palette(&mut palettes, mode, (dos, PaletteSource::BuiltIn));
        
       -        let mut dos = Palette::from_colors(XTERM_256_PALETTE.map(|p| p.1).to_vec());
       +        let mut dos = Palette::from_slice(&XTERM_256_PALETTE.map(|p| {
       +            let mut col = p.1.clone();
       +            col.name = Some(p.0.to_string());
       +            col
       +        }));
                dos.title = fl!(crate::LANGUAGE_LOADER, "palette_selector-xterm_default_palette");
                add_palette(&mut palettes, mode, (dos, PaletteSource::BuiltIn));
        
       -        let mut dos = Palette::from_colors(VIEWDATA_PALETTE[0..8].to_vec());
       +        let mut dos = Palette::from_slice(&VIEWDATA_PALETTE[0..8]);
                dos.title = fl!(crate::LANGUAGE_LOADER, "palette_selector-viewdata_default_palette");
                add_palette(&mut palettes, mode, (dos, PaletteSource::BuiltIn));
        
       @@ -209,7 +213,7 @@ impl SelectPaletteDialog {
                let h = color_rect.height() / (palette.0.len() as f32 / num_colors as f32).ceil().max(1.0);
        
                for i in 0..palette.0.len() {
       -            let (r, g, b) = palette.0.get_rgb(i);
       +            let (r, g, b) = palette.0.get_rgb(i as u32);
                    let rect = Rect::from_min_size(
                        Pos2::new(color_rect.left() + (i % num_colors) as f32 * w, color_rect.top() + (i / num_colors) as f32 * h),
                        Vec2::new(w, h),
   DIR diff --git a/src/ui/palette_editor.rs b/src/ui/palette_editor.rs
       @@ -34,7 +34,7 @@ pub fn palette_switcher(ctx: &egui::Context, ui: &mut egui::Ui, caret_attr: &Tex
                Color32::WHITE,
            );
        
       -    let (r, g, b) = palette.get_rgb(caret_attr.get_background() as usize);
       +    let (r, g, b) = palette.get_rgb(caret_attr.get_background());
            painter.rect_filled(
                Rect::from_min_size(
                    Pos2::new(height - rect_height + 2., height - rect_height + 2.) + rect.left_top().to_vec2(),
       @@ -56,7 +56,7 @@ pub fn palette_switcher(ctx: &egui::Context, ui: &mut egui::Ui, caret_attr: &Tex
                Color32::WHITE,
            );
        
       -    let (r, g, b) = palette.get_rgb(caret_attr.get_foreground() as usize);
       +    let (r, g, b) = palette.get_rgb(caret_attr.get_foreground());
            painter.rect_filled(
                Rect::from_min_size(Pos2::new(2., 2.) + rect.left_top().to_vec2(), Vec2::new(rect_height - 4., rect_height - 4.)),
                Rounding::none(),
       @@ -155,7 +155,7 @@ pub fn palette_editor_16(
                let painter = ui.painter_at(stroke_rect);
        
                for i in 0..upper_limit {
       -            let (r, g, b) = palette.get_rgb(i);
       +            let (r, g, b) = palette.get_rgb(i as u32);
                    painter.rect_filled(
                        Rect::from_min_size(
                            Pos2::new(
       @@ -208,7 +208,11 @@ pub fn palette_editor_16(
        
                    if response.hovered() {
                        response = response.on_hover_ui(|ui| {
       -                    let (r, g, b) = palette.get_rgb(color as usize);
       +                    let col = palette.get_color(color);
       +                    let (r, g, b) = col.get_rgb();
       +                    if let Some(title) = &col.name {
       +                        ui.label(title);
       +                    }
                            ui.label(format!("#{:02X}{:02X}{:02X}", r, g, b));
                        });
                    }