working on scrollbar, wip

git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@163 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
NishiOwO
2025-10-04 16:34:24 +00:00
parent c2246783f8
commit 4452531d90
18 changed files with 140 additions and 36 deletions

View File

@@ -22,6 +22,17 @@ extern "C" {
*/
MWDECL MwLLColor MwParseColor(MwWidget handle, const char* text);
/*!
* %brief Lighten a color
* %param handle Widget
* %param color Color
* %param r Red
* %param g Green
* %param b Blue
* %return Color
*/
MWDECL MwLLColor MwLightenColor(MwWidget handle, MwLLColor color, int r, int g, int b);
/*!
* %brief Draws a filled rectangle
* %param handle Widget
@@ -40,6 +51,16 @@ MWDECL void MwDrawRect(MwWidget handle, MwRect* rect, MwLLColor color);
*/
MWDECL void MwDrawFrame(MwWidget handle, MwRect* rect, MwLLColor color, int invert);
/*!
* %brief Draws a triangle
* %param handle Widget
* %param rect Rectangle area
* %param color Color
* %param invert Invert the 3D border color or not
* %warning `rect` gets changed to the area of rectangle inside
*/
MWDECL void MwDrawTriangle(MwWidget handle, MwRect* rect, MwLLColor color, int invert, int direction);
/*!
* %brief Draws a frame with specified border width
* %param handle Widget

View File

@@ -15,12 +15,14 @@
#include <Mw/Draw.h>
#include <Mw/Font.h>
#include <Mw/Error.h>
#include <Mw/Constants.h>
#include <Mw/Window.h>
#include <Mw/Menu.h>
#include <Mw/SubMenu.h>
#include <Mw/Button.h>
#include <Mw/Frame.h>
#include <Mw/Image.h>
#include <Mw/Widget/Window.h>
#include <Mw/Widget/Menu.h>
#include <Mw/Widget/SubMenu.h>
#include <Mw/Widget/Button.h>
#include <Mw/Widget/Frame.h>
#include <Mw/Widget/Image.h>
#include <Mw/Widget/ScrollBar.h>
#endif

View File

@@ -1,10 +1,10 @@
/* $Id$ */
/*!
* %file Mw/Button.h
* %file Mw/Widget/Button.h
* %brief Button widget
*/
#ifndef __MW_BUTTON_H__
#define __MW_BUTTON_H__
#ifndef __MW_WIDGET_BUTTON_H__
#define __MW_WIDGET_BUTTON_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>

View File

@@ -1,10 +1,10 @@
/* $Id$ */
/*!
* %file Mw/Frame.h
* %file Mw/Widget/Frame.h
* %brief Frame widget
*/
#ifndef __MW_FRAME_H__
#define __MW_FRAME_H__
#ifndef __MW_WIDGET_FRAME_H__
#define __MW_WIDGET_FRAME_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>

View File

@@ -1,10 +1,10 @@
/* $Id$ */
/*!
* %file Mw/Image.h
* %file Mw/Widget/Image.h
* %brief Image widget
*/
#ifndef __MW_IMAGE_H__
#define __MW_IMAGE_H__
#ifndef __MW_WIDGET_IMAGE_H__
#define __MW_WIDGET_IMAGE_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>

View File

@@ -1,10 +1,10 @@
/* $Id$ */
/*!
* %file Mw/Menu.h
* %file Mw/Widget/Menu.h
* %brief Menu widget
*/
#ifndef __MW_MENU_H__
#define __MW_MENU_H__
#ifndef __MW_WIDGET_MENU_H__
#define __MW_WIDGET_MENU_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>

View File

@@ -1,10 +1,10 @@
/* $Id$ */
/*!
* %file Mw/OpenGL.h
* %file Mw/Widget/OpenGL.h
* %brief OpenGL widget
*/
#ifndef __MW_OPENGL_H__
#define __MW_OPENGL_H__
#ifndef __MW_WIDGET_OPENGL_H__
#define __MW_WIDGET_OPENGL_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>

View File

@@ -0,0 +1,25 @@
/* $Id$ */
/*!
* %file Mw/Widget/ScrollBar.h
* %brief ScrollBar widget
*/
#ifndef __MW_WIDGET_SCROLLBAR_H__
#define __MW_WIDGET_SCROLLBAR_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>
#ifdef __cplusplus
extern "C" {
#endif
/*!
* %brief ScrollBar widget class
*/
MWDECL MwClass MwScrollBarClass;
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -1,10 +1,10 @@
/* $Id$ */
/*!
* %file Mw/SubMenu.h
* %file Mw/Widget/SubMenu.h
* %brief SubMenu widget
*/
#ifndef __MW_SUBMENU_H__
#define __MW_SUBMENU_H__
#ifndef __MW_WIDGET_SUBMENU_H__
#define __MW_WIDGET_SUBMENU_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>

View File

@@ -1,6 +1,6 @@
/* $Id$ */
/*!
* %file Mw/Vulkan.h
* %file Mw/Widget/Vulkan.h
* %brief Vulkan widget
* %warning This header is not documented yet
*/
@@ -9,8 +9,8 @@
* ioixd maintains this file. nishi doesn't know vulkan at all
*/
#ifndef __MW_VULKAN_H__
#define __MW_VULKAN_H__
#ifndef __MW_WIDGET_VULKAN_H__
#define __MW_WIDGET_VULKAN_H__
#if !defined(_WIN32) && !defined(__linux__) && !defined(__FreeBSD__)
#error Vulkan is unsupported on the requested platform.

View File

@@ -1,10 +1,10 @@
/* $Id$ */
/*!
* %file Mw/Window.h
* %file Mw/Widget/Window.h
* %brief Window widget
*/
#ifndef __MW_WINDOW_H__
#define __MW_WINDOW_H__
#ifndef __MW_WIDGET_WINDOW_H__
#define __MW_WIDGET_WINDOW_H__
#include <Mw/MachDep.h>
#include <Mw/TypeDefs.h>