/////////////////////////////////////////////////////////////////////////////
// apps/graphics/twm4nx/src/cfonts.cxx
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership. The
// ASF licenses this file to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance with the
// License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
//
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//
// Largely an original work but derives from TWM 1.0.10 in many ways:
//
// Copyright 1989,1998 The Open Group
// Copyright 1988 by Evans & Sutherland Computer Corporation,
//
// Please refer to apps/twm4nx/COPYING for detailed copyright information.
// Although not listed as a copyright holder, thanks and recognition need
// to go to Tom LaStrange, the original author of TWM.
//
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Included Files
/////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include "graphics/nxwidgets/cnxfont.hxx"
#include "graphics/twm4nx/twm4nx_config.hxx"
#include "graphics/twm4nx/ctwm4nx.hxx"
#include "graphics/twm4nx/cfonts.hxx"
/////////////////////////////////////////////////////////////////////////////
// CFonts Method Implementations
/////////////////////////////////////////////////////////////////////////////
using namespace Twm4Nx;
/**
* CFonts Constructor
*
* @param twm4nx. An instance of the NX server.
*/
CFonts::CFonts(CTwm4Nx *twm4nx)
{
m_twm4nx = twm4nx; // Save the NX server
m_titleFont = (FAR NXWidgets::CNxFont *)0; // Title bar font
m_menuFont = (FAR NXWidgets::CNxFont *)0; // Menu font
m_iconFont = (FAR NXWidgets::CNxFont *)0; // Icon font
m_sizeFont = (FAR NXWidgets::CNxFont *)0; // Resize font
m_iconManagerFont = (FAR NXWidgets::CNxFont *)0; // Window list font
m_defaultFont = (FAR NXWidgets::CNxFont *)0; // The default found
}
/**
* CFonts Destructor
*/
CFonts::~CFonts(void)
{
if (m_titleFont != (FAR NXWidgets::CNxFont *)0)
{
delete m_titleFont;
}
if (m_menuFont != (FAR NXWidgets::CNxFont *)0)
{
delete m_menuFont;
}
if (m_iconFont != (FAR NXWidgets::CNxFont *)0)
{
delete m_iconFont;
}
if (m_sizeFont != (FAR NXWidgets::CNxFont *)0)
{
delete m_sizeFont;
}
if (m_iconManagerFont != (FAR NXWidgets::CNxFont *)0)
{
delete m_iconManagerFont;
}
if (m_defaultFont != (FAR NXWidgets::CNxFont *)0)
{
delete m_defaultFont;
}
}
/**
* Initialize fonts
*/
bool CFonts::initialize(void)
{
m_titleFont =
new NXWidgets::CNxFont((enum nx_fontid_e)CONFIG_TWM4NX_TITLE_FONTID,
CONFIG_TWM4NX_TITLE_FONTCOLOR,
CONFIG_TWM4NX_TRANSPARENT_COLOR);
if (m_titleFont == (FAR NXWidgets::CNxFont *)0)
{
return false;
}
m_menuFont =
new NXWidgets::CNxFont((enum nx_fontid_e)CONFIG_TWM4NX_MENU_FONTID,
CONFIG_TWM4NX_MENU_FONTCOLOR,
CONFIG_TWM4NX_TRANSPARENT_COLOR);
if (m_menuFont == (FAR NXWidgets::CNxFont *)0)
{
return false;
}
m_iconFont =
new NXWidgets::CNxFont((enum nx_fontid_e)CONFIG_TWM4NX_ICON_FONTID,
CONFIG_TWM4NX_ICON_FONTCOLOR,
CONFIG_TWM4NX_TRANSPARENT_COLOR);
if (m_iconFont == (FAR NXWidgets::CNxFont *)0)
{
return false;
}
m_sizeFont =
new NXWidgets::CNxFont((enum nx_fontid_e)CONFIG_TWM4NX_SIZE_FONTID,
CONFIG_TWM4NX_SIZE_FONTCOLOR,
CONFIG_TWM4NX_TRANSPARENT_COLOR);
if (m_sizeFont == (FAR NXWidgets::CNxFont *)0)
{
return false;
}
m_iconManagerFont =
new NXWidgets::CNxFont((enum nx_fontid_e)CONFIG_TWM4NX_ICONMGR_FONTID,
CONFIG_TWM4NX_ICONMGR_FONTCOLOR,
CONFIG_TWM4NX_TRANSPARENT_COLOR);
if (m_iconManagerFont == (FAR NXWidgets::CNxFont *)0)
{
return false;
}
m_defaultFont =
new NXWidgets::CNxFont((enum nx_fontid_e)NXFONT_DEFAULT,
CONFIG_TWM4NX_DEFAULT_FONTCOLOR,
CONFIG_TWM4NX_TRANSPARENT_COLOR);
if (m_defaultFont == (FAR NXWidgets::CNxFont *)0)
{
return false;
}
return true;
}