/* notewidths.h
 * holds notewidths, which is used both in draw_chord, draw_notehead
 * and setpixelmin 
 * for Denemo, a gtk+ frontend to GNU Lilypond
 * (c) 2000-2005 Matthew Hiller
 */

#define SMALLESTDURATION 8
#define WHOLEHEAD_WIDTH 20
#define WHOLEHEAD_HEIGHT 10
#define WHOLEHEAD_SEMI_HEIGHT 5
#define HALFHEAD_WIDTH 12
#define HALFHEAD_HEIGHT 11
#define HALFHEAD_SEMI_HEIGHT 5
#define NOTEHEAD_WIDTH 11
#define NOTEHEAD_HEIGHT 10
#define NOTEHEAD_SEMI_HEIGHT 5
#define CROSS_WIDTH 13
#define CROSS_HEIGHT 10
#define CROSS_SEMI_HEIGHT 5
#define DIAMOND_WIDTH 20
#define DIAMOND_HEIGHT 10
#define DIAMOND_SEMI_HEIGHT 5
#define HARMONIC_WIDTH 9
#define HARMONIC_HEIGHT 10
#define HARMONIC_SEMI_HEIGHT 5
#define STEM_HEIGHT 44
#define EXTRA_STEM_HEIGHT 49	/* A bad hack */
#define STEM_WIDTH 11
#define EIGHTHSTEM_HEIGHT 29
#define SIXTEENTHSTEM_HEIGHT 30
#define THIRTYSECONDSTEM_HEIGHT 39
#define SIXTYFOURTHSTEM_HEIGHT 44
#define HUNDREDTWENTYEIGHTHSTEM_HEIGHT 49
#define TWOHUNDREDFIFTYSIXTHSTEM_HEIGHT 54


#define WHOLEREST_WIDTH 15
#define WHOLEREST_HEIGHT 5
#define WHOLEREST_OFFSETFROMTOP LINE_SPACE
#define HALFREST_WIDTH 15
#define HALFREST_HEIGHT 5
#define HALFREST_OFFSETFROMTOP LINE_SPACE*2
#define QUARTERREST_WIDTH 11
#define QUARTERREST_HEIGHT 27
#define QUARTERREST_OFFSETFROMTOP LINE_SPACE*2
#define EIGHTHREST_WIDTH 13
#define EIGHTHREST_HEIGHT 18
#define EIGHTHREST_OFFSETFROMTOP LINE_SPACE*2
#define SIXTEENTHREST_WIDTH 15
#define SIXTEENTHREST_HEIGHT 28
#define SIXTEENTHREST_OFFSETFROMTOP LINE_SPACE*2
#define THIRTYSECONDREST_WIDTH 17
#define THIRTYSECONDREST_HEIGHT 38
#define THIRTYSECONDREST_OFFSETFROMTOP LINE_SPACE*2
#define SIXTYFOURTHREST_WIDTH 18
#define SIXTYFOURTHREST_HEIGHT 48
#define SIXTYFOURTHREST_OFFSETFROMTOP LINE_SPACE*2

#define HUNDREDTWENTYEIGHTHREST_WIDTH 18
#define HUNDREDTWENTYEIGHTHREST_HEIGHT 58
#define HUNDREDTWENTYEIGHTHREST_OFFSETFROMTOP LINE_SPACE*2

#define TWOHUNDREDFIFTYSIXTHREST_WIDTH 18
#define TWOHUNDREDFIFTYSIXTHREST_HEIGHT 68
#define TWOHUNDREDFIFTYSIXTHREST_OFFSETFROMTOP LINE_SPACE*2


#define THINBEAM_HEIGHT 3
#define THICKBEAM_HEIGHT 3
#define STUB_WIDTH 8
#define FIRSTBEAMSPACE 5
#define SUBSQBEAMSPACE 5


#define FERMATA_WIDTH 26
#define FERMATA_HEIGHT 15
#define ACCENT_WIDTH 15
#define ACCENT_HEIGHT 10
#define STACATTO 3
#define TENUTO_WIDTH 12
#define TENUTO_HEIGHT 1
#define MARCATO_WIDTH 10 
#define MARCATO_HEIGHT 11

#define CODA_WIDTH 21
#define CODA_HEIGHT 27 

#define TRILL_WIDTH 30
#define TRILL_HEIGHT 23
#define TURN_HEIGHT 10
#define TURN_WIDTH 22
#define MORDENT_WIDTH 23
#define MORDENT_HEIGHT 12
#define STACCATISSIMO_WIDTH 4
#define STACCATISSIMO_HEIGHT 9

#define DBOW_WIDTH 14
#define DBOW_HEIGHT 13
#define UBOW_WIDTH 12
#define UBOW_HEIGHT 21
#define ARPEGGIO_WIDTH 8
#define ARPEGGIO_HEIGHT 14
#define UPPRALL_WIDTH 33
#define UPPRALL_HEIGHT 16
#define TRILL_ELEMENT_WIDTH 14
#define TRILL_ELEMENT_HEIGHT 8
#define TRILLELEMENT_WIDTH 14
#define TRILLELEMENT_HEIGHT 10
#define THUMB_WIDTH 8
#define THUMB_HEIGHT 14
#define STOPPED_SIZE 10
#define SFORZATO_WIDTH 18
#define SFORZATO_HEIGHT 10
#define SEGNO_WIDTH 20
#define SEGNO_HEIGHT 30
#define REVERSETURN_WIDTH 22
#define REVERSETURN_HEIGHT 10
#define PRALL_WIDTH 23
#define PRALL_HEIGHT 10
#define PRALLPRALL_WIDTH 32
#define PRALLPRALL_HEIGHT 10
#define PRALLMORDENT_WIDTH 32
#define PRALLMORDENT_HEIGHT 12
#define OPEN_WIDTH 8
#define OPEN_HEIGHT 10 

#define FLAGEOLET_SIZE 10

#define HEEL_WIDTH 10 
#define HEEL_HEIGHT 12
#define TOE_WIDTH 10
#define TOE_HEIGHT 15

extern gint restwidths[SMALLESTDURATION + 1];

extern gint headwidths[3];
