Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages | Examples

WhipExamples/Font.cpp

#include "whiptk/whip_toolkit.h"
#include <stdio.h>

extern WT_File whip_file; //Assume this has been opened for writing elsewhere.

WT_Result Font()
{
    int x=0,y=0;
    //Set the font height.
    whip_file.desired_rendition().font().height() = 100;

    //Font style bold.
    whip_file.desired_rendition().font().style().set_bold(WD_True);
    //Create a text drawable.
    WT_Text text(WT_Logical_Point(x, y-650), WT_String("Bold"));
    //Serialize it.
    WD_CHECK(text.serialize(whip_file));
    //Turn off bold style.
    whip_file.desired_rendition().font().style().set_bold(WD_False);

    //Font style italic.
    whip_file.desired_rendition().font().style().set_italic(WD_True);
    text = WT_Text(WT_Logical_Point(x+300, y-650), WT_String("Italic"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().style().set_italic(WD_False);

    //Font style underline.
    whip_file.desired_rendition().font().style().set_underlined(WD_True);
    text = WT_Text(WT_Logical_Point(x+600, y-650), WT_String("Underlined"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().style().set_underlined(WD_False);

    //Font rotation.
    whip_file.desired_rendition().font().height() = 50;
    const int degree = (int)(65636/360);
    char cbuf[256];
    for (int i=0; i<360; i+=15)
    {
        sprintf(cbuf, "          %d", i);
        whip_file.desired_rendition().font().rotation().set(degree*i);
        text = WT_Text(WT_Logical_Point(x+200, y-900), WT_String(cbuf));
        WD_CHECK(text.serialize(whip_file));
    }
    whip_file.desired_rendition().font().rotation().set(0);

    //Font width scale.
    whip_file.desired_rendition().color() = WT_Color(2, whip_file.desired_rendition().color_map());
    whip_file.desired_rendition().font().width_scale().set(512);
    text = WT_Text(WT_Logical_Point(x+600, y-750), WT_String("Width scale=512 (.5x)"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().width_scale().set(1024);
    text = WT_Text(WT_Logical_Point(x+600, y-800), WT_String("Width scale=1024 (1x)"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().width_scale().set(2048);
    text = WT_Text(WT_Logical_Point(x+600, y-850), WT_String("Width scale=2048 (2x)"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().width_scale().set(1024);

    //Font intra-character spacing.
    whip_file.desired_rendition().color() = WT_Color(3, whip_file.desired_rendition().color_map());
    whip_file.desired_rendition().font().spacing().set(512);
    text = WT_Text(WT_Logical_Point(x+600, y-900), WT_String("Spacing=512 (.5x)"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().spacing().set(1024);
    text = WT_Text(WT_Logical_Point(x+600, y-950), WT_String("Spacing=1024 (1x)"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().spacing().set(2048);
    text = WT_Text(WT_Logical_Point(x+600, y-1000), WT_String("Spacing=2048 (2x)"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().spacing().set(1024);

    //Font oblique angle.
    whip_file.desired_rendition().color() = WT_Color(4, whip_file.desired_rendition().color_map());
    whip_file.desired_rendition().font().oblique().set(10*degree);
    text = WT_Text(WT_Logical_Point(x+600, y-1050), WT_String("Oblique=10 deg"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().oblique().set(25*degree);
    text = WT_Text(WT_Logical_Point(x+600, y-1100), WT_String("Oblique=25 deg"));
    WD_CHECK(text.serialize(whip_file));
    whip_file.desired_rendition().font().oblique().set(0);

    return WT_Result::Success;
}

Generated on Tue May 17 12:38:50 2005 for Autodesk DWF Toolkit by  doxygen 1.4.1