Lines Matching refs:clock
30 * a NeWS clone clock
50 #define offset(field) XtOffsetOf(ClockRec, clock.field)
87 static double clock_to_angle ( double clock );
90 # define BORDER_SIZE(w) ((w)->clock.border_size)
95 # define JEWEL_SIZE(w) ((w)->clock.jewel_size)
155 if (w->clock.transparent)
161 myXGCV.foreground = w->clock.minute;
162 w->clock.minuteGC = XtGetGC(gnew, valuemask, &myXGCV);
164 myXGCV.foreground = w->clock.hour;
165 w->clock.hourGC = XtGetGC(gnew, valuemask, &myXGCV);
167 myXGCV.foreground = w->clock.jewel;
168 w->clock.jewelGC = XtGetGC(gnew, valuemask, &myXGCV);
171 w->clock.eraseGC = XtGetGC(gnew, valuemask, &myXGCV);
175 w->clock.interval_id = 0;
177 if (w->clock.shape_window && !XShapeQueryExtension (XtDisplay (w),
180 w->clock.shape_window = False;
182 w->clock.shape_mask = 0;
183 w->clock.shapeGC = NULL;
184 w->clock.shape_width = 0;
185 w->clock.shape_height = 0;
186 w->clock.polys_valid = 0;
203 SetTransform (&w->clock.maskt,
209 face_width = abs (Xwidth (BORDER_SIZE(w), BORDER_SIZE(w), &w->clock.maskt));
210 face_height = abs (Xheight (BORDER_SIZE(w), BORDER_SIZE(w), &w->clock.maskt));
216 if (w->clock.shape_window) {
221 SetTransform (&w->clock.t,
231 if (w->clock.shape_mask &&
232 (w->clock.shape_width != w->core.width ||
233 w->clock.shape_height != w->core.height))
235 XFreePixmap (XtDisplay (w), w->clock.shape_mask);
236 w->clock.shape_mask = None;
239 if (!w->clock.shape_mask)
241 w->clock.shape_mask = XCreatePixmap (XtDisplay (w), XtWindow (w),
244 shape_mask = w->clock.shape_mask;
245 if (!w->clock.shapeGC)
246 w->clock.shapeGC = XCreateGC (XtDisplay (w), shape_mask, 0, &xgcv);
249 XSetForeground (XtDisplay (w), w->clock.shapeGC, 0);
250 XFillRectangle (XtDisplay (w), shape_mask, w->clock.shapeGC,
252 XSetForeground (XtDisplay (w), w->clock.shapeGC, 1);
259 if (w->clock.border_size > 0.0 || !w->clock.transparent)
262 w->clock.shapeGC, &w->clock.maskt,
268 if (w->clock.transparent)
270 if (w->clock.border_size > 0.0)
272 XSetForeground (XtDisplay (w), w->clock.shapeGC, 0);
274 w->clock.shapeGC, &w->clock.t,
278 XSetForeground (XtDisplay (w), w->clock.shapeGC, 1);
280 paint_jewel (w, shape_mask, w->clock.shapeGC);
281 paint_hands (w, shape_mask, w->clock.shapeGC, w->clock.shapeGC);
298 XSetForeground (XtDisplay (w), w->clock.shapeGC, 0);
299 XFillRectangle (XtDisplay (w), shape_mask, w->clock.shapeGC,
301 XSetForeground (XtDisplay (w), w->clock.shapeGC, 1);
307 if (w->clock.transparent)
309 paint_jewel (w, shape_mask, w->clock.shapeGC);
310 paint_hands (w, shape_mask, w->clock.shapeGC, w->clock.shapeGC);
315 w->clock.shapeGC, &w->clock.t,
341 SetTransform (&w->clock.t,
354 if (w->clock.backing_store != Always + WhenMapped + NotUseful) {
355 attrs->backing_store = w->clock.backing_store;
358 if (w->clock.transparent)
360 attrs->background_pixel = w->clock.minute;
366 if (!w->clock.transparent)
374 if (w->clock.interval_id) XtRemoveTimeOut (w->clock.interval_id);
375 if (! w->clock.transparent) {
376 XtReleaseGC(gw, w->clock.minuteGC);
377 XtReleaseGC(gw, w->clock.hourGC);
378 XtReleaseGC(gw, w->clock.jewelGC);
379 XtReleaseGC(gw, w->clock.eraseGC);
381 if (w->clock.shapeGC)
382 XFreeGC(XtDisplay(gw), w->clock.shapeGC);
383 if (w->clock.shape_mask)
384 XFreePixmap (XtDisplay (w), w->clock.shape_mask);
393 if (!w->clock.transparent)
395 paint_jewel (w, XtWindow (w), w->clock.jewelGC);
396 paint_hands (w, XtWindow (w), w->clock.minuteGC, w->clock.hourGC);
415 clock_to_angle (double clock)
417 if (clock >= .75)
418 clock -= 1.0;
419 return -2.0 * PI * clock + PI / 2.0;
429 if (!w->clock.transparent)
430 if (w->clock.polys_valid) {
431 paint_hands (w, XtWindow (w), w->clock.eraseGC, w->clock.eraseGC);
432 check_jewel (w, XtWindow (w), w->clock.jewelGC);
438 w->clock.hour_angle = clock_to_angle ((((double) tm->tm_hour) +
440 w->clock.minute_angle =
444 * take a while and we'd like the clock to keep up
447 w->clock.interval_id =
451 if (w->clock.transparent)
454 paint_hands (w, XtWindow (w), w->clock.minuteGC, w->clock.hourGC);
462 TFillArc (XtDisplay (w), d, gc, &w->clock.t,
509 if (!w->clock.polys_valid || JEWEL_SIZE(w) <= 0.0)
512 check_jewel_poly (w, w->clock.minute_poly)) ||
514 check_jewel_poly (w, w->clock.minute_poly)))
549 compute_hand (w, w->clock.minute_angle,
550 MINUTE_LENGTH(w), MINUTE_WIDTH(w), w->clock.minute_poly);
551 compute_hand (w, w->clock.hour_angle,
552 HOUR_LENGTH(w), HOUR_WIDTH(w), w->clock.hour_poly);
553 w->clock.polys_valid = 1;
559 TFillPolygon (XtDisplay (w), d, gc, &w->clock.t, poly, POLY_SIZE,
566 if (w->clock.polys_valid) {
567 paint_hand (w, d, hour_gc, w->clock.hour_poly);
568 paint_hand (w, d, minute_gc, w->clock.minute_poly);