Example #1
0
static gboolean
new_osd(xosd **_osd, guint lines)
{
	xosd *osd = *_osd;

	if(osd) {
		if(xosd_get_number_lines(osd) == lines)
			return TRUE;

		xosd_destroy(osd);
	}

	if(lines <= 0) {
		osd = NULL;
		return FALSE;
	}

	osd = xosd_create(lines);

	xosd_set_pos(osd, XOSD_bottom);
	xosd_set_vertical_offset(osd, 16);
	xosd_set_align(osd, XOSD_center);
	xosd_set_horizontal_offset(osd, 0);

	xosd_set_font(osd, XOSD_FONT);
	xosd_set_outline_offset(osd, 1);
	xosd_set_outline_colour(osd, XOSD_OUTLINE_COLOR);
	xosd_set_shadow_offset(osd, 2);
	xosd_set_colour(osd, XOSD_COLOR);

	*_osd = osd;

	return TRUE;
}
Example #2
0
File: first.c Project: broli/tests
int main (int argc, char *argv[])
{
  xosd *osd;
  setlocale(LC_ALL, "");
  osd = xosd_create (2);
  if (osd == NULL)
    {
      perror ("Could not create \"osd\"");
      exit (1);
    }
  xosd_set_font (osd, "-*-verdana-*-*-*-*-17-*-*-*-*-*-*-*");  
  xosd_display (osd, 0, XOSD_string, "verdana 17-----------------------------------------------------------------------");
  sleep (2);
  /* el segundo*/
  xosd_set_shadow_offset (osd, 4);
  xosd_set_font (osd, "-*-terminus-*-*-*-*-20-*-*-*-*-*-*-*");
  xosd_set_colour (osd, "white");
  xosd_set_pos (osd, XOSD_bottom);
  xosd_set_align (osd, XOSD_center);
  xosd_set_vertical_offset (osd, 48);
  xosd_display (osd, 0, XOSD_string, "terminus 20 con shadow y otro color");
  sleep (8);
  xosd_destroy (osd);
  exit (0);
}
Example #3
0
int main (int argc, char *argv[])
{
  xosd *osd;
  int i;

  osd = xosd_create (10);

  xosd_set_font(osd, "fixed");
  xosd_set_colour(osd, "LawnGreen");
  xosd_set_timeout(osd, 3);
  xosd_set_shadow_offset(osd, 1);

  
  for(i = 0; i < 10; i ++) {
    xosd_display (osd, i, XOSD_printf, "Example XOSD output %d", i);
  }

  for(i = 0; i < 10; i ++) {
    sleep(1);
    printf(".");
    xosd_scroll(osd, 2);
  }
  



  xosd_wait_until_no_display(osd);

  xosd_destroy (osd);

  return 0;
}
Example #4
0
static void destroy(void** r) {
	time_renderer_data* _r = *r;
	if (_r) {
		if (_r->osd) {
			xosd_destroy(_r->osd);
			_r->osd = NULL;
		}
	}
}
Example #5
0
/*****************************************************************************
 * Close: destroy interface stuff
 *****************************************************************************/
static void Close( vlc_object_t *p_this )
{
    intf_thread_t *p_intf = (intf_thread_t *)p_this;

    /* Uninitialize library */
    xosd_destroy( p_intf->p_sys->p_osd );

    /* Destroy structure */
    free( p_intf->p_sys );
}
Example #6
0
File: xosd.c Project: cobr123/qtVlc
/*****************************************************************************
 * Close: destroy interface stuff
 *****************************************************************************/
static void Close( vlc_object_t *p_this )
{
    intf_thread_t *p_intf = (intf_thread_t *)p_this;

    playlist_t *p_playlist = pl_Get( p_intf );
    var_DelCallback( p_playlist, "item-current", PlaylistNext, p_this );
    var_DelCallback( p_playlist, "item-change", PlaylistNext, p_this );

    /* Uninitialize library */
    xosd_destroy( p_intf->p_sys->p_osd );

    /* Destroy structure */
    vlc_cond_destroy( &p_intf->p_sys->cond );
    vlc_mutex_destroy( &p_intf->p_sys->lock );
    free( p_intf->p_sys );
}
Example #7
0
/* Destroys the on-screen display and frees its memory. */
static void Xosd_free(void *p) {
  xosd_destroy(p);
}
Example #8
0
/*================================control_sh() ============================= */
void *control_sh(void *arg)
{
    int a,i;
    char c;
    char command[BUFSIZ];
    char command_arg[BUFSIZ];
    
    char fifo_file[PATH_MAX +1];

    FILE *fp;
    char readbuf[BUFSIZ];

    sprintf(fifo_file, "%s.%d",OSD_FIFO_PATH, getuid());
    settings.displaying = 1;
    /* we open the osd*/
	settings.myosd = xosd_create (2);

	initialize_osd(&settings);
	load_basic_plugins();

    /* create the fifo file*/
	unlink(fifo_file);
	umask(0);
	mknod(fifo_file, S_IFIFO|0600, 0);
	    /*open and read the fifo*/
	while (settings.displaying) {
		fp = fopen(fifo_file, "r");
		/*Read the bufer and check that it's not a comment*/
		while(fgets(readbuf, BUFSIZ, fp)) {

		    if (readbuf[c]=='#') continue;

		    /*ignore spaces*/
		    for (i=0; i<BUFSIZ&&((c=readbuf[i])==' '||c=='\t'); i++);
		    /*get the command*/
		    for (a=0; (c=readbuf[i])!='\n'&&c!='('; a++,i++)
			command[a] = readbuf[i];
		    command[a] = '\0';
		    /*get the command's arguments*/
		    i ++;
		    for(a=0; (c=readbuf[i])!='\0'&&c!='\n'&&c!=')';a++,i++) {
			if (c=='\\') {
			    i++;
			    command_arg[a] = readbuf[i];
		        }
			else {
			    command_arg[a]=c;
			}
		    }
		    command_arg[a] = '\0';
		    /*execute the command from the fifo and close it*/
		    display_stuff(command, command_arg);
		}
		fclose(fp);
	}
	unlink(fifo_file);
	sprintf(fifo_file, "%s.pid", fifo_file);
	unlink(fifo_file);
	xosd_destroy(settings.myosd);
	exit(0);
}
Example #9
0
	--screen-height	Specify screen height\n\n";
int main(int argc, char** argv) {
	signal(SIGINT, intHandler);
	
	xosd *osd;

	Display* d=XOpenDisplay(":0");
	
	int screenCount = ScreenCount(d);
	fprintf(stderr, "\nNumber of screens: %d\n", screenCount);
	int i;
	for (i=0; i<screenCount ; i++) {
		fprintf(stderr, " %d: %dx%x\n", i, DisplayWidth(d, i), DisplayHeight(d, i));
	}	

	int timeout;
	char* color="LawnGreen";
	char* font="-*-fixed-*-*-*-*-15-140-*-*-*-*-*-*";
	FILE* input=stdin;
	int delayShowMax=10000;
	int delayShowMin=1000;
	int delayWordMax=50;
	int delayWordMin=10;

	int screenWidthOverride=0;
	int screenHeightOverride=0;

	int ret;
	while((ret=getopt_long(argc, argv, ASublimOptString, lopts, NULL)) != -1) {
		switch(ret) {
			case 'S':
				delayShowMax=atoi(optarg);
				break;
			case 's':
				delayShowMin=atoi(optarg);
				break;
			case 'D':
				delayWordMax=atoi(optarg);
				break;
			case 'd':
				delayWordMin=atoi(optarg);
				break;
			case 't':
				timeout=atoi(optarg);
				break;
			case 'f':
				font=strncpy(malloc(strlen(optarg)+1), optarg, strlen(optarg)+1);
				break;
			case 'c':
				color=malloc(strlen(optarg));
				color=strncpy(malloc(strlen(optarg)+1), optarg, strlen(optarg)+1);
				break;
			case 'F':
				input=fopen(optarg, "r");
				if(errno) {
					fprintf(stderr, "File error! Defaulting to stdin.\n");
					input=stdin;
				}
				break;
			case 'w':
				screenWidthOverride=atoi(optarg);
				break;
			case 'y':
				screenHeightOverride=atoi(optarg);
				break;
			case 'h':
			case '?':
				fprintf(stderr, "Usage: %s %s", argv[0], helpstr);
				exit(0);
				break;
		}
	}

	osd = xosd_create(1);
	if(xosd_set_font(osd, font)==-1) {
		fprintf(stderr, "Font not found\n");
		exit(1);
	}
	if(xosd_set_colour(osd, color)==-1) {
		fprintf(stderr, "Color set error\n");
		exit(1);
	}
	if(xosd_set_timeout(osd, timeout)==-1) {
		fprintf(stderr, "Timeout set error\n");
		exit(1);
	}

	xosd_set_shadow_offset(osd, 3);
	srand48(time(NULL));
	char* buf=calloc(1025, sizeof(char));

	int height=screenHeightOverride;
	int width=screenWidthOverride;
	ret=fscanf(input, "%1024s", buf);
	while(buf[0]!=EOF && ret>0) {
		int screen = lrand48() % screenCount;
		if (!(screenWidthOverride && screenHeightOverride)) {
			height=	DisplayHeight(d, screen);
			width=	DisplayWidth(d, screen);
		}
		xosd_set_vertical_offset(osd, lrand48()%height);
		xosd_set_horizontal_offset(osd, lrand48()%width);
		xosd_display(osd, screen, XOSD_string, buf);
		
		xosd_show(osd);
		usleep((unsigned int)((lrand48()%(delayShowMax-delayShowMin)))+delayShowMin);
		xosd_hide(osd);
		
		ret=fscanf(input, "%1024s", buf);
		usleep((unsigned int)((lrand48()%(delayWordMax-delayWordMin)))+delayWordMin);
	}
	
	xosd_wait_until_no_display(osd);
	xosd_destroy(osd);

	return 0;
}
Example #10
0
int
main (int argc, char *argv[])
{
/*	if(argc < 2) {
		fprintf(stderr, "Usage: %s server-ip\n", argv[0]);
		exit(1);
	}
	servaddr = strdup(argv[1]); */
#ifdef USE_XOSD
	int ch;
  	xosd *osd;
	while ((ch = getopt(argc, argv, "f:t:o:c:sa:")) != -1) {
		switch(ch) {
			case 'f':
				XOSD_FONT = strdup(optarg);
				break;
			case 'a': /* align... tr == top right bl ==
				     bottomleft */
				if(strlen(optarg) != 2) {
					fprintf(stderr, "-a error\n");
					exit(-1);
				}
				if(*optarg == 'b')
					vert = 0;
				if(optarg[1] == 'l')
					horiz = 0;
				break;
			case 't':
				XOSD_TIMEOUT = atoi(optarg);
				if(XOSD_TIMEOUT < 1) XOSD_TIMEOUT = 
					DEF_XOSD_TIMEOUT;
				break;
			case 'o':
				XOSD_VOFFSET = atoi(optarg);
				break;
			case 'c':
				XOSD_COLOUR = strdup(optarg);
				break;
			case 's':
				test = 1;
				break;
			case '?':
			default:
				usage();
				exit(-1);
		}
	}
	argc -= optind;
	argv += optind;

	if(test) {
osd = xosd_create(2);
  xosd_set_font(osd, XOSD_FONT);
  xosd_set_colour(osd, XOSD_COLOUR);
  xosd_set_timeout(osd, XOSD_TIMEOUT);
  xosd_set_pos(osd, vert ? XOSD_top : XOSD_bottom);
  xosd_set_align(osd, horiz ? XOSD_right : XOSD_left);
  xosd_set_vertical_offset(osd, XOSD_VOFFSET);
  xosd_set_shadow_offset(osd, 1);
  xosd_display(osd, 0, XOSD_printf, "Welcome to xcid!");
  xosd_wait_until_no_display(osd);
  xosd_destroy(osd);
}

#endif
  start_netloop ();
#ifdef USE_XOSD
  free(XOSD_COLOUR);
  free(XOSD_FONT);
#endif
  return 0;
}
Example #11
0
void osd_close() {
#ifdef HAVE_XOSD
    xosd_destroy (osd);
#endif /* HAVE_XOSD */
}