Game Kit: rewrite DirectWindow, FileGameSound and SimpleGameSound headers

Change-Id: I45687f8164dbc915a0cb6ca1bf4c0211761cb098
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2108
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
Panagiotis Vasilopoulos
2020-01-22 00:33:44 +00:00
committed by waddlesplash
parent 450208975b
commit f0b6c6a24b
3 changed files with 93 additions and 91 deletions
+34 -28
View File
@@ -1,5 +1,5 @@
/*
* Copyright 2001-2008 Haiku, Inc. All rights reserved.
* Copyright 2020 Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
@@ -14,22 +14,20 @@
enum direct_buffer_state {
B_DIRECT_MODE_MASK = 15,
B_DIRECT_START = 0,
B_DIRECT_STOP = 1,
B_DIRECT_MODIFY = 2,
B_DIRECT_MODE_MASK = 15,
B_DIRECT_START = 0,
B_DIRECT_STOP = 1,
B_DIRECT_MODIFY = 2,
B_CLIPPING_MODIFIED = 16,
B_BUFFER_RESIZED = 32,
B_BUFFER_MOVED = 64,
B_BUFFER_RESET = 128
B_BUFFER_RESIZED = 32,
B_BUFFER_MOVED = 64,
B_BUFFER_RESET = 128
};
enum direct_driver_state {
B_DRIVER_CHANGED = 0x0001,
B_MODE_CHANGED = 0x0002
B_DRIVER_CHANGED = 0x0001,
B_MODE_CHANGED = 0x0002
};
@@ -58,10 +56,12 @@ public:
BDirectWindow(BRect frame, const char* title,
window_type type, uint32 flags,
uint32 workspace = B_CURRENT_WORKSPACE);
BDirectWindow(BRect frame, const char* title,
window_look look, window_feel feel,
uint32 flags,
uint32 workspace = B_CURRENT_WORKSPACE);
virtual ~BDirectWindow();
static BArchivable* Instantiate(BMessage* data);
@@ -69,46 +69,57 @@ public:
bool deep = true) const;
virtual void Quit();
virtual void DispatchMessage(BMessage* message,
BHandler* handler);
virtual void MessageReceived(BMessage* message);
virtual void FrameMoved(BPoint newPosition);
virtual void FrameResized(float newWidth, float newHeight);
virtual void WorkspacesChanged(uint32 oldWorkspaces,
uint32 newWorkspaces);
virtual void WorkspaceActivated(int32 workspaceIndex,
bool state);
virtual void FrameResized(float newWidth, float newHeight);
virtual void Minimize(bool minimize);
virtual void Zoom(BPoint recPosition, float recWidth,
float recHeight);
virtual void ScreenChanged(BRect screenFrame,
color_space depth);
virtual void MenusBeginning();
virtual void MenusEnded();
virtual void WindowActivated(bool state);
virtual void Show();
virtual void Hide();
virtual BHandler* ResolveSpecifier(BMessage* message,
int32 index, BMessage* specifier,
int32 what, const char* property);
virtual status_t GetSupportedSuites(BMessage* data);
virtual status_t Perform(perform_code code, void* arg);
private:
virtual void task_looper();
virtual BMessage* ConvertToMessage(void* raw, int32 code);
public:
virtual void DirectConnected(direct_buffer_info* info);
status_t GetClippingRegion(BRegion* region,
BPoint* origin = NULL) const;
status_t SetFullScreen(bool enable);
bool IsFullScreen() const;
static bool SupportsWindowMode(
screen_id id = B_MAIN_SCREEN_ID);
private:
BDirectWindow();
BDirectWindow(BDirectWindow& other);
BDirectWindow& operator=(BDirectWindow& other);
typedef BWindow inherited;
virtual void _ReservedDirectWindow1();
@@ -116,30 +127,26 @@ private:
virtual void _ReservedDirectWindow3();
virtual void _ReservedDirectWindow4();
BDirectWindow();
BDirectWindow(BDirectWindow& other);
BDirectWindow& operator=(BDirectWindow& other);
virtual void task_looper();
virtual BMessage* ConvertToMessage(void* raw, int32 code);
static int32 _daemon_thread(void* arg);
int32 _DirectDaemon();
bool _LockDirect() const;
void _UnlockDirect() const;
void _InitData();
void _DisposeData();
private:
bool fDaemonKiller;
bool fConnectionEnable;
bool fIsFullScreen;
bool _unused;
bool fInDirectConnect;
int32 fDirectLock;
sem_id fDirectSem;
uint32 fDirectLockCount;
thread_id fDirectLockOwner;
char* fDirectLockStack;
sem_id fDisableSem;
sem_id fDisableSemAck;
@@ -156,5 +163,4 @@ private:
uint32 _more_reserved_[17];
};
#endif // _DIRECT_WINDOW_H
#endif
+11 -11
View File
@@ -1,16 +1,16 @@
/*
* Copyright 2001-2002, Haiku Inc. All Rights Reserved.
* Copyright 2020, Haiku Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*
* Author:
* Christopher ML Zumwalt May ([email protected])
*/
#ifndef _FILEGAMESOUND_H
#define _FILEGAMESOUND_H
#include <StreamingGameSound.h>
#include <DataIO.h>
@@ -21,12 +21,15 @@ struct _gs_ramp;
class BFileGameSound : public BStreamingGameSound {
public:
BFileGameSound(const entry_ref* file,
bool looping = true,
BGameSoundDevice* device = NULL);
BFileGameSound(const char* file,
bool looping = true,
BGameSoundDevice* device = NULL);
BFileGameSound(BDataIO* data,
bool looping = true,
BGameSoundDevice* device = NULL);
@@ -37,8 +40,7 @@ public:
virtual status_t StartPlaying();
virtual status_t StopPlaying();
status_t Preload();
// if you have stopped and want to start quickly again
status_t Preload();
virtual void FillBuffer(void* buffer, size_t byteCount);
virtual status_t Perform(int32 selector, void* data);
@@ -49,13 +51,13 @@ public:
B_PAUSE_IN_PROGRESS,
B_PAUSED
};
int32 IsPaused();
int32 IsPaused();
private:
BFileGameSound();
BFileGameSound(const BFileGameSound& other);
BFileGameSound& operator=(const BFileGameSound& other);
// not implemented
status_t Init(BDataIO* data);
@@ -63,7 +65,7 @@ private:
bool Read(void* buffer, size_t bytes);
status_t _Reserved_BFileGameSound_0(int32 arg, ...);
// SetPaused(bool paused, bigtime_t ramp);
// SetPaused(bool paused, bigtime_t ramp);
virtual status_t _Reserved_BFileGameSound_1(int32 arg, ...);
virtual status_t _Reserved_BFileGameSound_2(int32 arg, ...);
virtual status_t _Reserved_BFileGameSound_3(int32 arg, ...);
@@ -87,7 +89,6 @@ private:
virtual status_t _Reserved_BFileGameSound_21(int32 arg, ...);
virtual status_t _Reserved_BFileGameSound_22(int32 arg, ...);
virtual status_t _Reserved_BFileGameSound_23(int32 arg, ...);
private:
_gs_media_tracker* fAudioStream;
@@ -104,7 +105,7 @@ private:
bool fPaused;
float fPauseGain;
BDataIO* fDataSource;
BDataIO* fDataSource;
#ifdef B_HAIKU_64_BIT
uint32 _reserved[9];
@@ -113,5 +114,4 @@ private:
#endif
};
#endif // _FILEGAMESOUND_H
#endif
+48 -52
View File
@@ -1,76 +1,72 @@
/*
* Copyright 2001-2010, Haiku Inc. All Rights Reserved.
* Copyright 2020, Haiku Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _SIMPLEGAMESOUND_H
#define _SIMPLEGAMESOUND_H
#include <GameSoundDefs.h>
#include <GameSound.h>
#include <GameSoundDefs.h>
struct entry_ref;
class BSimpleGameSound : public BGameSound {
public:
BSimpleGameSound(const entry_ref* file,
BGameSoundDevice* device = NULL);
BSimpleGameSound(const char* file,
BGameSoundDevice* device = NULL);
BSimpleGameSound(const void* data,
size_t frameCount,
const gs_audio_format* format,
BGameSoundDevice* device = NULL);
BSimpleGameSound(const BSimpleGameSound& other);
BSimpleGameSound(const entry_ref* file,
BGameSoundDevice* device = NULL);
virtual ~BSimpleGameSound();
BSimpleGameSound(const char* file,
BGameSoundDevice* device = NULL);
virtual BGameSound* Clone() const;
BSimpleGameSound(const void* data,
size_t frameCount,
const gs_audio_format* format,
BGameSoundDevice* device = NULL);
virtual status_t Perform(int32 selector, void* data);
BSimpleGameSound(const BSimpleGameSound& other);
status_t SetIsLooping(bool looping);
bool IsLooping() const;
virtual ~BSimpleGameSound();
virtual BGameSound* Clone() const;
virtual status_t Perform(int32 selector, void* data);
status_t SetIsLooping(bool looping);
bool IsLooping() const;
private:
BSimpleGameSound();
BSimpleGameSound& operator=(const BSimpleGameSound& other);
// not implemented
BSimpleGameSound();
status_t Init(const entry_ref* file);
status_t Init(const void* data, int64 frameCount,
const gs_audio_format* format);
BSimpleGameSound& operator=(const BSimpleGameSound& other);
virtual status_t _Reserved_BSimpleGameSound_0(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_1(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_2(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_3(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_4(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_5(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_6(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_7(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_8(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_9(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_10(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_11(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_12(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_13(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_14(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_15(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_16(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_17(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_18(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_19(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_20(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_21(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_22(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_23(int32 arg, ...);
status_t Init(const entry_ref* file);
status_t Init(const void* data, int64 frameCount,
const gs_audio_format* format);
virtual status_t _Reserved_BSimpleGameSound_0(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_1(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_2(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_3(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_4(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_5(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_6(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_7(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_8(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_9(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_10(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_11(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_12(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_13(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_14(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_15(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_16(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_17(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_18(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_19(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_20(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_21(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_22(int32 arg, ...);
virtual status_t _Reserved_BSimpleGameSound_23(int32 arg, ...);
private:
uint32 _reserved[12];
uint32 _reserved[12];
};
#endif // _SIMPLE_GAME_SOUND_H
#endif