comparison src/pixbuf-renderer.c @ 1895:6e3edda945ae

added half-size (3dtv) stereo mode
author Vladimir Nadvornik <nadvornik@suse.cz>
date Sun, 20 Mar 2011 12:49:00 +0100
parents f0412c60e9f6
children 9604c72ac670
comparison
equal deleted inserted replaced
1894:f0412c60e9f6 1895:6e3edda945ae
2619 else 2619 else
2620 { 2620 {
2621 if (pr->renderer2) pr->renderer2->free(pr->renderer2); 2621 if (pr->renderer2) pr->renderer2->free(pr->renderer2);
2622 pr->renderer2 = NULL; 2622 pr->renderer2 = NULL;
2623 } 2623 }
2624 if (pr->stereo_mode & PR_STEREO_HALF)
2625 {
2626 if (pr->stereo_mode & PR_STEREO_HORIZ) pr->aspect_ratio = 2.0;
2627 else if (pr->stereo_mode & PR_STEREO_VERT) pr->aspect_ratio = 0.5;
2628 else pr->aspect_ratio = 1.0;
2629 }
2630 else
2631 {
2632 pr->aspect_ratio = 1.0;
2633 }
2624 } 2634 }
2625 2635
2626 void pixbuf_renderer_stereo_set(PixbufRenderer *pr, gint stereo_mode) 2636 void pixbuf_renderer_stereo_set(PixbufRenderer *pr, gint stereo_mode)
2627 { 2637 {
2628 gboolean redraw = !(pr->stereo_mode == stereo_mode) || pr->stereo_temp_disable; 2638 gboolean redraw = !(pr->stereo_mode == stereo_mode) || pr->stereo_temp_disable;
2663 { 2673 {
2664 if (!pr->renderer) pr->renderer = (void *)renderer_tiles_new(pr); 2674 if (!pr->renderer) pr->renderer = (void *)renderer_tiles_new(pr);
2665 pr->renderer->stereo_set(pr->renderer, PR_STEREO_NONE); 2675 pr->renderer->stereo_set(pr->renderer, PR_STEREO_NONE);
2666 if (pr->renderer2) pr->renderer2->free(pr->renderer2); 2676 if (pr->renderer2) pr->renderer2->free(pr->renderer2);
2667 pr->renderer2 = NULL; 2677 pr->renderer2 = NULL;
2678 pr->aspect_ratio = 1.0;
2668 } 2679 }
2669 else 2680 else
2670 { 2681 {
2671 pr_stereo_set(pr); 2682 pr_stereo_set(pr);
2672 } 2683 }