-
Notifications
You must be signed in to change notification settings - Fork 0
InterfaceCreate , Create
Создание контекста окна Device и интерфейса (ООП).
InterfaceCreate(hWnd.l, device.l = Device::#DEVICE_GDI, begun.l = 1, AlphaFormat.l = 32, fps.l = 30, layred.l = 0, *hDevice.Device::Device = 0)
Параметры
hWnd.l - Handle Window
device.l - Константы типа device
#DEVICE_GDI - Используется для отрисовки библиотека GDIPlus (GDI+)
#DEVICE_D3D9 - Используется для отрисовки библиотека D3D9 (DirectX9)
#DEVICE_NONE - Пустой контекст
begun.l - Отрисовка с момента создания, переменная может иметь значения 0 или 1 [ не используется ]
AlphaFormat.l - Формат изображения в битности (8, 16, 24, 32)
fps.l - Кол-во кадров в секунду для отрисовки, не рекомендуется ставить больше обновления монитора.
layred.l - Использование #WS_EX_LAYERED для отрисовки в окно.
*hDevice.Device - Контекст окна *Device. (Применяется для содания дополнительного Device)
*hDevice.Device - Контекст окна *Device. - [Create]
XIncludeFile "..\Device.pb"
Global event
Device::Init()
OpenWindow(0, 0, 0, 750, 450, "Example 1", #PB_Window_ScreenCentered | #PB_Window_SizeGadget | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
WindowBounds(0, 750, 450, #PB_Default, #PB_Default)
Global *hDevice.Device::Device = Device::Create(WindowID(0), Device::#DEVICE_GDI, 1, 32, 32, 0)
Repeat
If Device::FrameNext(*hDevice)
Device::Clear(*hDevice, $FF000000)
Device::RectFill(*hDevice, 0, 0, 200, 200, $FFFFFFFF, Device::#STYLE_CENTER)
Device::Draw(*hDevice)
EndIf
If Device::OnReSize(*hDevice)
EndIf
If Device::OnRelease(*hDevice)
EndIf
Repeat
event = WindowEvent()
If event = #PB_Event_CloseWindow
Break 2
EndIf
Until event = 0
Delay(1)
ForEver
Device::Release()