So the TL;DR of it is:
The window has to be able to be/do:
Fullscreen/Windowed
Clip it to the parent window
Be semi-transparent in the parent window
Be moveable
Quote:
Original post by MJP
As far as I know, you can't do that without totally drawing the window yourself.
Quote:
Original post by DieterVW
A custom in app UI library.
Quote:
Original post by DieterVW
Which D3D api are you using? If you can use Direct2D then it'll be a bit easier. D2D provides easy vector graphics with shading and text/layout API's and structures.
Anyway, you'll have to probably code all of the parts yourself which isn't hard, though it could be time consuming depending on the features you want. You'll need something to represent the UI and know when it's selected so that commands and key strokes can be funneled too it. It'll probably need a title bar so that it can be moved around the screen and resize controls on the edges. If you want cursor animations then you'll have to draw that too.
You'll need a buffer to capture the text you want to display, and then some way to mark the span of text that will be drawn, since it's likely that it'll more than fill the screen if this is just a console.
Transparency will be fairly easy since this stuff will just be blended over the render target after the main frame is done.
If you want text editing controls, that bit will take a bit longer. Direct2D has lots of helper items for creating and hit testing text layouts, which is a huge time saver. That will help you get cursor and text locations so that things can be copied/pasted and edited.
You may also need buttons or a scroll bar, though if you can do with arrow up/down or page up/down then it'll some coding time.
You could also save time by making it just a drop down console, with no concept of resize or movement. Just a text display area where something like ~ can open and close it.
Quote:
Original post by DieterVW
Which version of D3D are you using? Is targeting vista/win7 enough? If you need to target XP then Direct2D won't work for you.
This topic has been locked by a moderator. New replies are not allowed.
With your permission, GameDev.net uses analytics cookies to understand how people use the platform. You can accept analytics or continue with necessary cookies only. Learn more