Re: Want to show images one by one
- From: Rocky Marrone <rocky marrone gmail com>
- To: Víctor M. Palacio Tárrega <victorpalacio adtelecom es>
- Cc: gtkmm-list gnome org
- Subject: Re: Want to show images one by one
- Date: Fri, 27 Feb 2009 10:40:35 +0530
Hi Victor,
I am able to animate the images using Gtk::Notebook, but because its giving tabs above it i don't want that.
Please tell me that can i remove the tabs from the notebook or is there any other option to show 50 images one by one on a widget with a some interval of time
Thnx & Best Regards
Rakesh
On Thu, Feb 26, 2009 at 1:43 PM, "Víctor M. Palacio Tárrega"
<victorpalacio adtelecom es> wrote:
Hi Rocky,
Why do you are not reloading Gdk::pixbuf associated with an Gtk::Image?
You could also use Gtk::NoteBook widget, creating some Gtk::Images on diferent notebook pages and switching them with a timer.
Regards,
Rocky Marrone escribió:
Hi All,
First of all thanks for all of you in advance....
I want to show 50 images one by one with the help of Gtk::Fixed...
What i am doing is that creating something on Gtk::Fixed and creating a thread and in the thread function i want to display 50 images one by one infinitly.
But when i am putiing the images one by one with sleep i am getting warning and GTK Critical errors like
*(simulator:4388): Gtk-WARNING **: Can't set a parent on widget which has a parent
want to put the images
(simulator:4388): Gtk-WARNING **: Can't set a parent on widget which has a parent
(simulator:4388): Gtk-CRITICAL **: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed
I am also attaching the source code of it
// TODO // This is very important without this the project won't be that affective but in know it will work
// This portion have to be completed in a sort span of time.
// How to update the rectangular region in gtkmm is the problem
// Finish time ASAP
void Board::set_animate_image(void) {
std::cout << "entering the set_animate_image " << std::endl;
int counter = 0;
while (1) {
if (counter > 49) {
counter = 0;
}
std::cout << "want to put the images" << std::endl;
m_base.put(*Gtk::manage(m_background_images[counter]), BASE_BACKGROUND_ANIMATION_X_POS + counter, BASE_BACKGROUND_ANIMATION_Y_POS + counter);
m_background_images[counter]->show();
// gdk_threads_enter();
// m_background_images[counter]->show();
// Gdk::Rectangle rect;// = m_ptr_base_window->get_allocation();
// rect.set_x(350);
// rect.set_y(300);
// rect.set_width(480);
// rect.set_height(270);
// m_ptr_base_window->invalidate_rect(rect, false);
// std::cout << rect.get_x() << " " << rect.get_y() << " " << rect.get_width() << std::endl;
// gdk_flush();
// ++counter;
// gdk_threads_leave();
sleep(1);
}
}
// Initalize the board animation
void Board::initialize_board_animation(void) {
char str_file[100];
for (int counter = 49; counter >= 0; --counter) {
memset(str_file, 0, 100);
int temp_file_name = counter * 8;
if (temp_file_name > 99) {
sprintf(str_file ,"../images/image/test0%d.bmp", temp_file_name);
} else if (temp_file_name > 9 && temp_file_name < 100 ) {
sprintf(str_file ,"../images/image/test00%d.bmp", temp_file_name);
} else if (temp_file_name < 10) {
sprintf(str_file ,"../images/image/test000%d.bmp", temp_file_name);
} else {
sprintf(str_file ,"../images/image/test0000.bmp");
}
m_background_images[counter] = new Gtk::Image(str_file);
std::cout << str_file << std::endl;
}
m_ptr_thread = Glib::Thread::create(sigc::mem_fun(*this, &Board::set_animate_image), true);
}
*Please help me that how can i achieve to display the 50 images one by one ....
Thnx & Best Reagards
Rocky Marrone
*
*
------------------------------------------------------------------------
_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
http://mail.gnome.org/mailman/listinfo/gtkmm-list
--
//*Víctor M. Palacio Tárrega*//
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]