cairo graphics 0.9 intersection II

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ // module do_draw //do_draw will be executed in a separate thread whenever we would like to update //our animation void *do_draw(void *ptr){ currently_drawing = 1; int width, height; gdk_threads_enter(); gdk_drawable_get_size(pixmap, &width, &height); gdk_threads_leave(); //create a gtk-independant surface to draw on cairo_surface_t *cst …

deadlock

Dead lock Nonatomic actions introduce the possibility that the protocol can deadlock, meaning that it reaches a state where it cannot continue. Now, on the context of congestion control deadlock is acheived when the packets in the interconnect can make no forward progress no matter what sequence of events happens. References : Snooping Protocols. Congestion …

cairo graphics 0.8 (intersection)

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include #include #include #include //the global pixmap that will serve as our buffer static GdkPixmap *pixmap = NULL; gboolean on_window_configure_event(GtkWidget * da, GdkEventConfigure * event, gpointer user_data){ static int oldw = 0; static int oldh = 0; //make our selves a properly …

cairo graphics 0.7 wheel

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include #include #include #include //the global pixmap that will serve as our buffer static GdkPixmap *pixmap = NULL; gboolean on_window_configure_event(GtkWidget * da, GdkEventConfigure * event, gpointer user_data){ static int oldw = 0; static int oldh = 0; //make our selves a properly …

loop-level parallelism

loop level parallelism The simplest and the common way to increase the amount of parallelism available among instructions is to exploit parallelism among iterations of a loop. This type of parallelism is often called loop-level parallelism. Here is a simple example of a loop, which adds two 1000-element arrays that is completely parallel. for (i=1;i<= …

cairo graphics 0.6 Circle animation

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include #include #include //the global pixmap that will serve as our buffer static GdkPixmap *pixmap = NULL; gboolean on_window_configure_event(GtkWidget * da, GdkEventConfigure * event, gpointer user_data){ static int oldw = 0; static int oldh = 0; //make our selves a properly sized …

context switch

context switch Multiprogramming leads to the concept of a process. Metaphorically,a process is a program’s breathing air and living space-that is,a running program plus any state needed to continue running it.Time- sharing is a variation of multi-programming that shares the CPU and memory with several interactive users at the same time, giving the illusion that …

cairo graphics 0.5 (arc )

/* Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include int main () { int i; cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 800, 600); cairo_t *cr = cairo_create (surface); cairo_set_font_size (cr, 32.0); cairo_set_source_rgb (cr, 0.3, 0.8, 0.7); cairo_set_line_width(cr,1.0); for (i=0;i<100;i++) { /* cairo_move_to(cr,30+i,60); cairo_line_to(cr,30+i,60+i);*/ /* cairo_rectangle(cr,100,100,10+i,10+i);*/ cairo_arc(cr,100,100,60,50,10); /* cairo_line_to(cr,40,200); */ cairo_stroke(cr); /* …

cairo graphics 0.4 (line work animation)

/* http://cairographics.org/threaded_animation_with_cairo/ */ /* Hack by Jeffrin Jose Licensed GPL v3 Copyright August 2010 GPL –> http://www.gnu.org/copyleft/gpl.html */ #include #include #include //the global pixmap that will serve as our buffer static GdkPixmap *pixmap = NULL; gboolean on_window_configure_event(GtkWidget * da, GdkEventConfigure * event, gpointer user_data){ static int oldw = 0; static int oldh = 0; //make …