Files
Aerofoil/PortabilityLayer/PLControlDefinitions.h

52 lines
1.6 KiB
C
Raw Normal View History

2019-11-11 00:11:59 -05:00
#pragma once
#ifndef __PL_CONTROLDEFINITIONS_H__
#define __PL_CONTROLDEFINITIONS_H__
#include "PLCore.h"
2020-01-05 02:33:03 -05:00
namespace PortabilityLayer
{
class Widget;
}
2019-11-11 00:11:59 -05:00
struct Control
{
};
2019-12-29 23:14:37 -05:00
typedef THandle<Control> ControlHandle;
2019-11-11 00:11:59 -05:00
typedef void(*ControlActionProc)(ControlHandle control, short part);
typedef ControlActionProc ControlActionUPP;
enum ControlParts
{
kControlUpButtonPart = 1,
kControlDownButtonPart,
kControlPageUpPart,
kControlPageDownPart,
kControlIndicatorPart,
kControlButtonPart,
};
2020-01-05 02:33:03 -05:00
int FindControl(Point point, WindowPtr window, PortabilityLayer::Widget **outControl); // Returns part
int FindControl(Point point, WindowPtr window, ControlHandle *outControl);
2019-11-11 00:11:59 -05:00
void SetControlValue(ControlHandle control, int value);
void SetControlMaximum(ControlHandle control, int value);
void MoveControl(ControlHandle control, int x, int y);
void SizeControl(ControlHandle control, int width, int height);
int GetControlValue(ControlHandle control);
ControlHandle NewControl(WindowPtr window, const Rect *rect, const PLPasStr &label, Boolean visible, int value, int minValue, int maxValue, int cdef, long userdata);
ControlActionUPP NewControlActionUPP(ControlActionProc proc);
void DisposeControlActionUPP(ControlActionUPP upp);
Boolean TrackControl(ControlHandle control, Point point, ControlActionUPP proc);
2020-01-05 02:33:03 -05:00
Boolean TrackControl(PortabilityLayer::Widget *control, Point point, ControlActionUPP proc);
2019-11-11 00:11:59 -05:00
long GetControlReference(ControlHandle control); // Returns userdata
ControlHandle GetNewControl(int resID, WindowPtr window);
void HiliteControl(ControlHandle control, int unknown);
2020-01-05 02:33:03 -05:00
void HiliteControl(PortabilityLayer::Widget *widget, int unknown);
2019-11-11 00:11:59 -05:00
#endif