-/* analogtv, Copyright (c) 2003, 2004 Trevor Blackwell <tlb@tlb.org>
+/* analogtv, Copyright (c) 2003-2018 Trevor Blackwell <tlb@tlb.org>
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
#include "thread_util.h"
#include "xshm.h"
+#if defined(USE_IPHONE) || defined(HAVE_ANDROID)
+# define HAVE_MOBILE
+#endif
+
/*
You'll need these to generate standard NTSC TV signals
*/
int fakeit_scroll;
int redraw_all;
- int use_shm,use_cmap,use_color;
+ int use_cmap,use_color;
int bilevel_signal;
-#ifdef HAVE_XSHM_EXTENSION
XShmSegmentInfo shm_info;
-#endif
int visdepth,visclass,visbits;
int red_invprec, red_shift;
int green_invprec, green_shift;
int blue_invprec, blue_shift;
- unsigned int red_mask, green_mask, blue_mask;
+ unsigned long red_mask, green_mask, blue_mask;
Colormap colormap;
int usewidth,useheight,xrepl,subwidth;
int cmap_i_levels;
int cmap_q_levels;
+ float tint_i, tint_q;
+
int cur_hsync;
int line_hsync[ANALOGTV_V];
int cur_vsync;
void analogtv_draw(analogtv *it, double noiselevel,
const analogtv_reception *const *recs, unsigned rec_count);
-int analogtv_load_ximage(analogtv *it, analogtv_input *input, XImage *pic_im);
+int analogtv_load_ximage(analogtv *it, analogtv_input *input,
+ XImage *pic_im, XImage *mask_im,
+ int xoff, int yoff, int width, int height);
void analogtv_reception_update(analogtv_reception *inp);
char *s, int x, int y, int ntsc[4]);
void analogtv_draw_string_centered(analogtv_input *input, analogtv_font *f,
char *s, int x, int y, int ntsc[4]);
-void analogtv_draw_xpm(analogtv *tv, analogtv_input *input,
- const char * const *xpm, int left, int top);
int analogtv_handle_events (analogtv *it);
#define ANALOGTV_DEFAULTS_SHM
#endif
-#ifndef USE_IPHONE
+#ifndef HAVE_MOBILE
# define ANALOGTV_DEF_BRIGHTNESS "2"
# define ANALOGTV_DEF_CONTRAST "150"
#else
/* Need to really crank this up for it to look good on the iPhone screen. */
# define ANALOGTV_DEF_BRIGHTNESS "3"
-# define ANALOGTV_DEF_CONTRAST "1000"
+# define ANALOGTV_DEF_CONTRAST "400"
#endif
+/* Brightness: useful range is around -75 to 100.
+ Contrast: useful range is around 0 - 500.
+ Color: useful range is around +/- 500.
+ Tint: range is mod 360.
+
+ The values in the 'analogtv' struct are the resource divided by 100.0,
+ except for tint, which is exact.
+ */
+
#define ANALOGTV_DEFAULTS \
"*TVColor: 70", \
"*TVTint: 5", \
"*use_cmap: 0", \
"*geometry: 800x600", \
"*fpsSolid: True", \
+ "*lowrez: True", \
THREAD_DEFAULTS \
ANALOGTV_DEFAULTS_SHM