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 81 82 83 84 85 86
|
/* utils.h
* Header file for functions useful across the different modules of
* drawing and non-drawing code.
*
* also includes useful constants
*
* for Denemo, a gtk+ frontend to GNU Lilypond
* (c) 1999, 2000, 2001 Matthew Hiller
*/
#include <gtk/gtk.h>
#include "datastructures.h"
#define LINE_SPACE 10
#define HALF_LINE_SPACE 5
#define NO_OF_LINES 5
#define STAFF_HEIGHT LINE_SPACE * (NO_OF_LINES - 1)
#define MID_STAFF_HEIGHT 2*LINE_SPACE
#define LEFT_MARGIN 20
#define KEY_MARGIN (LEFT_MARGIN+35)
#define SPACE_FOR_TIME 30
#define RIGHT_MARGIN 20
#define SPACE_FOR_BARLINE 10
#define HALF_BARLINE_SPACE 5
#define WHOLE_NUMTICKS 1536
/* Wrapper macro for creating bitmaps */
#define bitmaphelper(widget, name) \
gdk_bitmap_create_from_data (NULL, \
(gchar *) name##_bits, \
name##_width, name##_height)
/* Adds a callback that processes the "activate" signal coming from
* a widget */
#define processenter(entry, callback, cbdata, dialog) \
gtk_signal_connect(GTK_OBJECT(entry), "activate", \
GTK_SIGNAL_FUNC(callback), \
&cbdata); \
if (dialog) \
gtk_signal_connect_object (GTK_OBJECT (entry), "activate", \
gtk_widget_destroy, GTK_OBJECT (dialog))
void
drawbitmapinverse (GdkPixmap *pixmap, GdkGC *gc, GdkBitmap *mask,
gint x, gint y, gint width, gint height);
/* Gives space after a note or rest */
gint
space_after (gint numticks, gint wholenotewidth);
/* Returns height of a note based on what the note is and and the current
* clef context */
gint
calculateheight (gint mid_c_offset, gint dclef);
/* Translates a mid_c_offset into 0 (c) through 6 (b). Useful for
* getting accidentals to persist */
gint
offsettonumber (gint n);
gchar
mid_c_offsettoname (gint mid_c_offset);
gint
mid_c_offsettooctave (gint mid_c_offset);
void
set_grace_numticks(mudelaobject *theobj, gint multiplier);
void
set_tuplefied_numticks (mudelaobject *theobj, gint numerator,
gint denominator);
void
set_basic_numticks (mudelaobject *theobj);
void
setpixelmin (mudelaobject *theobj);
void
freeit (gpointer data, gpointer user_data);
|