File: draw_titles.c

package info (click to toggle)
garlic 1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 4,516 kB
  • sloc: ansic: 52,465; makefile: 2,254
file content (80 lines) | stat: -rw-r--r-- 1,814 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/* Copyright (C) 2000 Damir Zucic */

/*=============================================================================

				draw titles.c

Purpose:
	Draw titles.

Input:
	(1) Pointer to RuntimeS structure.
	(2) Pointer to GUIS structure.

Output:
	(1) Titles drawn to the hidden pixmap.
	(2) Return value.

Return value:
	The number of titles drawn.

=============================================================================*/

#include <stdio.h>

#include <string.h>

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xos.h>
#include <X11/Xatom.h>

#include "defines.h"
#include "typedefs.h"

/*======draw titles:=========================================================*/

int DrawTitles_ (RuntimeS *runtimeSP, GUIS *guiSP)
{
int		titles_drawnN = 0;
int		titleI;
char		*curr_titleP;
int		curr_title_length;
int		screen_x, screen_y;

/* Prepare the text color: */
XSetForeground (guiSP->displaySP, guiSP->theGCA[0],
		guiSP->main_winS.fg_colorID);

/* Scan the set of titles: */
for (titleI = 0; titleI < MAXTITLES; titleI++)
	{
	/** Do not draw hidden titles: **/
	if (runtimeSP->title_hiddenF[titleI] != 0) continue;

	/** Pointer to the current title: **/
	curr_titleP = runtimeSP->titlesP + titleI * TITLESTRINGSIZE;

	/** Do not draw empty titles: **/
	curr_title_length = strlen (curr_titleP);
	if (curr_title_length == 0) continue;

	/** String position: **/
	screen_x = runtimeSP->title_screen_x[titleI];
	screen_y = runtimeSP->title_screen_y[titleI];

	/** Draw the string: **/
	XDrawString (guiSP->displaySP,
		     guiSP->main_winS.ID,
		     guiSP->theGCA[0],
		     screen_x, screen_y,
		     curr_titleP, curr_title_length);
	}

/* Return the number of titles that were drawn: */
return titles_drawnN;
}

/*===========================================================================*/