kNCurses/HorizontalTilingWindowManag...

41 lines
1.2 KiB
C++

/**
* @author Christian Burger (christian@krikkel.de)
*/
#include "kNCurses/HorizontalTilingWindowManager.hpp"
#include "kNCurses/Window.hpp"
#include "Debug.hpp"
#include <ncursesw/ncurses.h>
#include <algorithm>
namespace krikkel::NCurses
{
using std::recursive_mutex;
HorizontalTilingWindowManager::HorizontalTilingWindowManager(NCursesWindow *rootWindow, std::recursive_mutex *ncursesMutex)
: TilingWindowManager(rootWindow, ncursesMutex)
{}
void HorizontalTilingWindowManager::resizeAndMoveWindow(Window *window, windowDimension dimension, windowPosition position)
{
__debug_log("(" + std::to_string(position + begx()) + ", " + std::to_string(0 + begy()) + ", " + std::to_string(dimension) + ", " + std::to_string(height()) + ")");
window->resize(height(), dimension);
window->mvwin(0 + begy(), position + begx());
}
TilingWindowManager::windowDimension HorizontalTilingWindowManager::getAvailableSpace()
{
return width();
}
void HorizontalTilingWindowManager::windowBorder()
{
vline(height());
}
void HorizontalTilingWindowManager::moveCursor(TilingWindowManager::windowPosition position)
{
move(0, position);
}
}