sprite_16x16_selector_core_widget::sprite_16x16_selector_core_widget ( QWidget* s_parent, const QPoint& s_position, const QSize& s_size ) : level_element_selector_core_widget_base( s_parent, s_position, s_size, get_level_element_gfx_file_name(), get_slot_inner_width(), get_slot_inner_height(), get_slot_outer_width(), get_slot_outer_height() ) { }
level_element_selector_core_widget_base ::level_element_selector_core_widget_base ( QWidget* s_parent, const QPoint& s_position, const QSize& s_size ) : sfml_canvas_widget_base( s_parent, s_position, s_size ), left_current_level_element_index(0), right_current_level_element_index(0), level_element_palette_modified_recently(false) { shared_constructor_code( get_level_element_gfx_file_name(), get_slot_inner_width(), get_slot_inner_height(), get_slot_outer_width(), get_slot_outer_height() ); }
void level_element_selector_core_widget_base ::generate_level_element_palette_render_texture() { //cout << "level_element_palette_render_texture: " // << level_element_palette_render_texture.setActive(true) << endl; //level_element_palette_render_texture.clear(sf::Color::Green); level_element_palette_render_texture.clear(sf::Color::Cyan); u32 num_level_elements_per_column = get_num_level_elements_per_column(), num_level_elements_per_row = get_num_level_elements_per_row(); for ( u32 j=0; j<num_level_elements_per_column; ++j ) { for ( u32 i=0; i<num_level_elements_per_row; ++i ) { //slot_inner_image.setPixel( 0, 0, palette.at // ( j * num_colors_per_row + i ) ); //slot_inner_texture.loadFromImage(slot_inner_image); // ////slot_inner_sprite.setPosition( i * get_slot_outer_width() + 1, //// level_element_palette_render_texture.getSize().y //// - ( ( j + 1 ) * get_slot_outer_height() - 1 ) ); selected_level_element_sprite.setTextureRect( sf::IntRect ( sf::Vector2i( i * get_slot_inner_width(), j * get_slot_inner_height() ), sf::Vector2i( get_slot_inner_width(), get_slot_inner_height() ) ) ); selected_level_element_sprite.setPosition ( i * get_slot_outer_width() + 1, j * get_slot_outer_height() + 1 ); //cout << "xpos == " << i * get_slot_outer_width() + 1 << endl; //cout << "ypos == " << j * get_slot_outer_height() + 1 << endl; // Highlight the SELECTED level_elements with a border, drawing // the LEFT mouse button selected level_element one on top of // the right mouse button selected level_element. if ( left_current_level_element_index == j * num_level_elements_per_row + i ) { slot_outer_left_selected_sprite.setPosition ( selected_level_element_sprite.getPosition().x - 1, selected_level_element_sprite.getPosition().y - 1 ); level_element_palette_render_texture.draw (slot_outer_left_selected_sprite); } else if ( right_current_level_element_index == j * num_level_elements_per_row + i ) { slot_outer_right_selected_sprite.setPosition ( selected_level_element_sprite.getPosition().x - 1, selected_level_element_sprite.getPosition().y - 1 ); level_element_palette_render_texture.draw (slot_outer_right_selected_sprite); } else { slot_outer_usual_sprite.setPosition ( selected_level_element_sprite.getPosition().x - 1, selected_level_element_sprite.getPosition().y - 1 ); level_element_palette_render_texture.draw (slot_outer_usual_sprite); } level_element_palette_render_texture.draw (selected_level_element_sprite); } } level_element_palette_render_texture.display(); level_element_palette_texture = level_element_palette_render_texture.getTexture(); }