// UB_CONS.CPP
//
// Copyright (c) 1995-1999 Symbian Ltd.  All rights reserved.
//

#include "ub_std.h"

EXPORT_C CConsoleBase::CConsoleBase()
//
// Constructor
//
	{

	__DECLARE_NAME(_S("CConsoleBase"));
	}

EXPORT_C CConsoleBase::~CConsoleBase()
//
// Destructor
//
	{
	}

EXPORT_C TKeyCode CConsoleBase::Getch()
//
// Get a character from the console.
//
	{

	TRequestStatus s;
	Read(s);
	User::WaitForRequest(s);
	__ASSERT_ALWAYS(s==KErrNone,Panic(EConsGetchFailed));
	return(KeyCode());
	}

EXPORT_C void CConsoleBase::Printf(TRefByValue<const TDesC> aFmt,...)
//
// Print characters to the console window.
//
	{

	TestOverflowTruncate overflow;
	VA_LIST list;
	VA_START(list,aFmt);
	TBuf<0x100> aBuf;
	aBuf.AppendFormatList(aFmt,list,&overflow);
	Write(aBuf);
	}

EXPORT_C void CConsoleBase::SetPos(TInt aX)
//
// Set just the cursor X position.
//
	{

	SetCursorPosAbs(TPoint(aX,WhereY()));
	}

EXPORT_C void CConsoleBase::SetPos(TInt aX,TInt aY)
//
// Set the cursor X and Y position.
//
	{

	SetCursorPosAbs(TPoint(aX,aY));
	}

EXPORT_C TInt CConsoleBase::WhereX() const
//
// Return the cursor X position.
//
	{

	return(CursorPos().iX);
	}

EXPORT_C TInt CConsoleBase::WhereY() const
//
// Return the cursor Y position.
//
	{

	return(CursorPos().iY);
	}

void CColorConsoleBase::SetTextAttribute(TTextAttribute /*anAttribute*/)
//
//
//
	{
	}