GuiCreateBrowser: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(20 intermediate revisions by 12 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Client_function}}
{{Client function}}
{{New feature/item|3.0150|1.5||
{{New feature/item|150|1.5.0|7172|
This function creates a new CEGUI web [[Element/Browser|browser]] element.
This function creates a new CEGUI web [[Element/Browser|browser]] element.
<br>The difference between this and createBrowser is that this function handles inputs internally, and it can be attached to GUI windows. So the createBrowser function is more suitable for custom dx based interfaces, while this one is favorable for CEGUI all-in-all integration.
You can learn more about the differences [[https://forum.mtasa.com/topic/80422-dx-browser-vs-gui-browser/?do=findComment&comment=737334 here]].
}}
}}


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">element createBrowser ( float x, float y, float width, float height, bool isLocal, bool isRelative [, element parent = nil] )</syntaxhighlight>
<syntaxhighlight lang="lua">gui-browser guiCreateBrowser ( float x, float y, float width, float height, bool isLocal, bool isTransparent, [ bool isRelative = false, gui-element parent = nil ] )</syntaxhighlight>
{{OOP||[[Element/gui-browser|GuiBrowser]].create||guiCreateBrowser}}
{{OOP||[[Element/gui-browser|GuiBrowser]]}}


===Required Arguments===
===Required Arguments===
*'''x, y:''' The browser's position
*'''x:''' A float of the 2D x position of the browser on a player's screen.  This is affected by the ''relative'' argument.
*'''width:''' The browser's native width
*'''y:''' A float of the 2D y position of the browser on a player's screen. This is affected by the ''relative'' argument.
*'''height:''' The browser's native height
*'''width:''' The browser's native width. This should be greater than or equal to 1.
*'''isLocal:''' See examples
*'''height:''' The browser's native height. This should be greater than or equal to 1.
*'''isLocal:''' Sets whether the browser can only show local content or content from the internet (see examples over [[CreateBrowser|here]] for more information)
*'''isTransparent:''' ''true'' if you want the browser to support transparency, ''false'' otherwise
*'''isTransparent:''' ''true'' if you want the browser to support transparency, ''false'' otherwise
*'''isRelative:''' This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing measures relative to the parent.
 
{{New feature/item|3.0160|1.6||Providing a size of (0,0) will be a hard error.}}


===Optional Arguments===
===Optional Arguments===
{{OptionalArg}}
*'''isRelative:''' This is whether sizes and positioning are relative.  If this is ''true'', then all x,y,width,height floats must be between 0 and 1, representing sizes/positions as a fraction of the screen size. If ''false'', then the size and co-ordinates are based on client's resolution, accessible using [[guiGetScreenSize]].
*'''parent:''' This is the parent that the radio button is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.  
*'''parent:''' This is the parent that the radio button is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.  


===Returns===
===Returns===
Returns ''true'' if the [[gui-browser]] element was successfully created, ''false'' otherwise. Returns also ''false'', if the user disabled remote pages and ''isLocal'' was set to ''false''.
Returns a [[gui-browser]] element if it was created successfully, ''false'' otherwise. Returns also ''false'', if the user disabled remote pages and ''isLocal'' was set to ''false''.


==Example==
==Example==
This examples attached a webbrowser to a CEGUI window
This examples simply creates a web browser and loads an URL
<syntaxhighlight lang="lua">
local browserGUI = guiCreateBrowser(100, 100, 300, 50, true, true, false)
local browser    = guiGetBrowser(browserGUI)
 
addEventHandler("onClientBrowserCreated", browser, function()
  loadBrowserURL(browser, "http://mta/local/html/index.html")
end)
</syntaxhighlight>
 
This examples attaches a web browser to a CEGUI window.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--In order to render the browser on the full screen, we need to know the dimensions.
-- In order to render the browser fullscreen, we need to get the dimensions of the screen
local screenWidth, screenHeight = guiGetScreenSize()
local screenWidth, screenHeight = guiGetScreenSize( )


--Let's create a new browser in remote mode.
-- Let's create a new browser in remote mode
local window = guiCreateWindow(200, 200, 1024, 768, "Webbrowser", false)
local window = guiCreateWindow( 0, 0, screenWidth, screenHeight, "Web Browser", false )
local browser = guiCreateBrowser(0, 0, 800, 600, false, false, window)
local browser = guiCreateBrowser( 0, 28, screenWidth, screenHeight, false, false, false, window )
local theBrowser = guiGetBrowser( browser ) -- Get the browser element from gui-browser


-- The event onClientBrowserCreated will be triggered, after the browser has been initialized.
-- The event onClientBrowserCreated will be triggered after the browser has been initialized
-- After this event has been triggered, we will be able to load our URL
-- After this event has been triggered we will be able to load our URL
local theBrowser = guiGetBrowser(browser) -- Get the browser element from gui-browser
addEventHandler( "onClientBrowserCreated", theBrowser,  
addEventHandler("onClientBrowserCreated", theBrowser,  
function( )
function()
-- After the browser has been initialized, we can load www.youtube.com
-- After the browser has been initialized, we can load www.youtube.com
loadBrowserURL(source, "http://www.youtube.com")
loadBrowserURL( source, "https://www.youtube.com/" )
end
end
)
)
Line 45: Line 61:


==See Also==
==See Also==
{{GUI_functions}}
{{CEF_functions}}
 
[[en:guiCreateBrowser]]
[[ru:guiCreateBrowser]]
[[hu:guiCreateBrowser]]
[[RO:guiCreateBrowser]]

Latest revision as of 08:11, 30 October 2023

ADDED/UPDATED IN VERSION 1.5.0 r7172:

This function creates a new CEGUI web browser element.
The difference between this and createBrowser is that this function handles inputs internally, and it can be attached to GUI windows. So the createBrowser function is more suitable for custom dx based interfaces, while this one is favorable for CEGUI all-in-all integration. You can learn more about the differences [here].

Syntax

gui-browser guiCreateBrowser ( float x, float y, float width, float height, bool isLocal, bool isTransparent, [ bool isRelative = false, gui-element parent = nil ] )

OOP Syntax Help! I don't understand this!

Method: GuiBrowser(...)


Required Arguments

  • x: A float of the 2D x position of the browser on a player's screen. This is affected by the relative argument.
  • y: A float of the 2D y position of the browser on a player's screen. This is affected by the relative argument.
  • width: The browser's native width. This should be greater than or equal to 1.
  • height: The browser's native height. This should be greater than or equal to 1.
  • isLocal: Sets whether the browser can only show local content or content from the internet (see examples over here for more information)
  • isTransparent: true if you want the browser to support transparency, false otherwise

Providing a size of (0,0) will be a hard error.

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • isRelative: This is whether sizes and positioning are relative. If this is true, then all x,y,width,height floats must be between 0 and 1, representing sizes/positions as a fraction of the screen size. If false, then the size and co-ordinates are based on client's resolution, accessible using guiGetScreenSize.
  • parent: This is the parent that the radio button is attached to. If the relative argument is true, sizes and positioning will be made relative to this parent. If the relative argument is false, positioning will be the number of offset pixels from the parent's origin. If no parent is passed, the parent will become the screen - causing positioning and sizing according to screen positioning.

Returns

Returns a gui-browser element if it was created successfully, false otherwise. Returns also false, if the user disabled remote pages and isLocal was set to false.

Example

This examples simply creates a web browser and loads an URL

local browserGUI = guiCreateBrowser(100, 100, 300, 50, true, true, false)
local browser    = guiGetBrowser(browserGUI)

addEventHandler("onClientBrowserCreated", browser, function()
  loadBrowserURL(browser, "http://mta/local/html/index.html")
end)

This examples attaches a web browser to a CEGUI window.

-- In order to render the browser fullscreen, we need to get the dimensions of the screen
local screenWidth, screenHeight = guiGetScreenSize( )

-- Let's create a new browser in remote mode
local window = guiCreateWindow( 0, 0, screenWidth, screenHeight, "Web Browser", false )
local browser = guiCreateBrowser( 0, 28, screenWidth, screenHeight, false, false, false, window )
local theBrowser = guiGetBrowser( browser ) -- Get the browser element from gui-browser

-- The event onClientBrowserCreated will be triggered after the browser has been initialized
-- After this event has been triggered we will be able to load our URL
addEventHandler( "onClientBrowserCreated", theBrowser, 
	function( )
		-- After the browser has been initialized, we can load www.youtube.com
		loadBrowserURL( source, "https://www.youtube.com/" )
	end
)

See Also