コード例 #1
0
        // Create the drawing objects we need.
        void CreateObjects(IRenderer renderer, float cellSize)
        {
            Matrix matrixSave, matrixNew;

            // Set transform so that the each cell is 100x100. The objects must be created
            // with the same transform (except translations) that they are drawn in.
            matrixSave = renderer.Transform;
            matrixNew = matrixSave.Clone();
            matrixNew.Scale(cellSize / 100.0F, cellSize / 100.0F);
            renderer.Transform = matrixNew;

            thickPen = renderer.CreatePen(DescriptionAppearance.thickDescriptionLine, LineJoin.Miter, LineCap.Flat);
            thinPen = renderer.CreatePen(DescriptionAppearance.thinDescriptionLine, LineJoin.Miter, LineCap.Flat);

            fontDescs[TITLE_FONT] = DescriptionAppearance.titleFont;                                        fontAlignments[TITLE_FONT] = StringAlignment.Center;
            fontDescs[COLUMNA_FONT] = DescriptionAppearance.columnAFont;                          fontAlignments[COLUMNA_FONT] = StringAlignment.Center;
            fontDescs[COLUMNB_FONT] = DescriptionAppearance.columnBFont;                          fontAlignments[COLUMNB_FONT] = StringAlignment.Center;
            fontDescs[COLUMNF_FONT] = DescriptionAppearance.columnFFont;                          fontAlignments[COLUMNF_FONT] = StringAlignment.Center;
            fontDescs[COLUMNF_DOUBLE_FONT] = DescriptionAppearance.columnFSmallFont;   fontAlignments[COLUMNF_DOUBLE_FONT] = StringAlignment.Center;
            fontDescs[DIRECTIVE_FONT] = DescriptionAppearance.directiveFont;                        fontAlignments[DIRECTIVE_FONT] = StringAlignment.Center;
            fontDescs[TEXT_FONT] = DescriptionAppearance.textFont;                                        fontAlignments[TEXT_FONT] = StringAlignment.Near;
            fontDescs[KEY_FONT] = DescriptionAppearance.keyFont;                                           fontAlignments[KEY_FONT] = StringAlignment.Near;
            fontDescs[TEXTLINE_FONT] = DescriptionAppearance.textLineFont;                          fontAlignments[TEXTLINE_FONT] = StringAlignment.Near;

            for (int i = 0; i < NUM_FONTS; ++i)
                fonts[i] = renderer.CreateFont(fontDescs[i].Name, fontDescs[i].EmHeight, fontDescs[i].Bold, fontDescs[i].Italic, fontAlignments[i]);

            renderer.Transform = matrixSave;
        }