xref: /haiku/src/apps/patchbay/EndpointInfo.h (revision 42b7984a6e679841ed4571cf243364142d9607ed)
1*42b7984aSPete Goodeve /* EndpointInfo.h
2*42b7984aSPete Goodeve  * --------------
3*42b7984aSPete Goodeve  * A simple structure that describes a MIDI object.
4*42b7984aSPete Goodeve  * Currently, it only contains icon data associated with the object.
5*42b7984aSPete Goodeve  *
6*42b7984aSPete Goodeve  * Copyright 2013, Haiku, Inc. All rights reserved.
7*42b7984aSPete Goodeve  * Distributed under the terms of the MIT License.
8*42b7984aSPete Goodeve  *
9*42b7984aSPete Goodeve  * Revisions by Pete Goodeve
10*42b7984aSPete Goodeve  *
11*42b7984aSPete Goodeve  * Copyright 1999, Be Incorporated.   All Rights Reserved.
12*42b7984aSPete Goodeve  * This file may be used under the terms of the Be Sample Code License.
13*42b7984aSPete Goodeve  */
14*42b7984aSPete Goodeve 
15*42b7984aSPete Goodeve #ifndef _EndpointInfo_h
16*42b7984aSPete Goodeve #define _EndpointInfo_h
17*42b7984aSPete Goodeve 
18*42b7984aSPete Goodeve #include <Mime.h> /* for icon_size */
19*42b7984aSPete Goodeve #include <GraphicsDefs.h> /* for color_space */
20*42b7984aSPete Goodeve 
21*42b7984aSPete Goodeve class BMidiEndpoint;
22*42b7984aSPete Goodeve 
23*42b7984aSPete Goodeve extern const uint8 LARGE_ICON_SIZE;
24*42b7984aSPete Goodeve extern const uint8 MINI_ICON_SIZE;
25*42b7984aSPete Goodeve extern const icon_size DISPLAY_ICON_SIZE;
26*42b7984aSPete Goodeve extern const color_space ICON_COLOR_SPACE;
27*42b7984aSPete Goodeve 
28*42b7984aSPete Goodeve class EndpointInfo
29*42b7984aSPete Goodeve {
30*42b7984aSPete Goodeve public:
31*42b7984aSPete Goodeve 	EndpointInfo();
32*42b7984aSPete Goodeve 	EndpointInfo(int32 id);
33*42b7984aSPete Goodeve 	EndpointInfo(const EndpointInfo& info);
34*42b7984aSPete Goodeve 	EndpointInfo& operator=(const EndpointInfo& info);
35*42b7984aSPete Goodeve 	~EndpointInfo();
36*42b7984aSPete Goodeve 
37*42b7984aSPete Goodeve 	int32 ID() const
38*42b7984aSPete Goodeve 	{
39*42b7984aSPete Goodeve 		return fId;
40*42b7984aSPete Goodeve 	}
41*42b7984aSPete Goodeve 	const BBitmap* Icon() const
42*42b7984aSPete Goodeve 	{
43*42b7984aSPete Goodeve 		return fIcon;
44*42b7984aSPete Goodeve 	}
45*42b7984aSPete Goodeve 	void UpdateProperties(const BMessage* props);
46*42b7984aSPete Goodeve 
47*42b7984aSPete Goodeve private:
48*42b7984aSPete Goodeve 	int32 fId;
49*42b7984aSPete Goodeve 	BBitmap* fIcon;
50*42b7984aSPete Goodeve };
51*42b7984aSPete Goodeve 
52*42b7984aSPete Goodeve #endif /* _EndpointInfo_h */
53