Difference between revisions of "Share.share"

From GiderosMobile
(Created page with "__NOTOC__ <languages /> '''<translate>Available since</translate>:''' Gideros 2020.7<br/> '''<translate>Class</translate>:''' Share<br/> === <tran...")
 
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages />
+
'''Available since:''' Gideros 2020.7<br/>
'''<translate>Available since</translate>:''' Gideros 2020.7<br/>
+
'''Class:''' [[Share]]<br/>
'''<translate>Class</translate>:''' [[Special:MyLanguage/Share|Share]]<br/>
 
=== <translate>Description</translate> ===
 
<translate>Share a piece of data with an external app. This invokes the platform default sharing dialog, allowing to save, print, send, share, etc. <br />
 
Supported MIME types:
 
- text/*
 
- image/png
 
- image/jpeg
 
  
</translate>
+
=== Description ===
<source lang="lua">
+
Shares a piece of data with an external app.
Share.share(mimeType,data)
+
<syntaxhighlight lang="lua">
</source>
+
(bool) = Share.share(mimeType,data)
=== <translate>Parameters</translate> ===
+
</syntaxhighlight>
'''mimeType''': (string) <translate>The MIME type of the data. </translate> <br/>
+
 
'''data''': (string) <translate>The data itself. </translate> <br/>
+
This invokes the platform default sharing dialog, allowing to save, print, send, share, etc.
 +
 
 +
Currently supported MIME types:
 +
* '''"text/*"'''
 +
* '''"image/png"'''
 +
* '''"image/jpeg"'''
 +
 
 +
=== Parameters ===
 +
'''mimeType''': (string) the MIME type of the data<br/>
 +
'''data''': (string) the data itself<br/>
 +
 
 +
=== Return values ===
 +
'''Returns''' (boolean) ''true'' if data can be shared<br/>
 +
 
 +
=== Examples ===
 +
'''Image from file'''
 +
<syntaxhighlight lang="lua">
 +
require "Share"
 +
 
 +
local share = Share.new()
 +
 
 +
local img = io.open("gfx/cat.jpg")
 +
local rimg = img:read("*all")
 +
 
 +
share.share("image/jpeg", rimg) -- MIME type, data
 +
</syntaxhighlight>
 +
 
 +
'''Using a Buffer (faster than IO)'''
 +
<syntaxhighlight lang="lua">
 +
local share = require "Share"
 +
 
 +
local tex = Texture.new("gfx/cat.jpg")
 +
local bmp = Bitmap.new(tex)
 +
local rt = RenderTarget.new(tex:getWidth(), tex:getHeight())
 +
rt:draw(bmp)
 +
local buff = Buffer.new("buffer.jpg") -- create a buffer
 +
rt:save("|B|buffer.jpg") -- write to the buffer
 +
 
 +
local bdata = buff:get()
 +
 
 +
share.share("image/jpeg", bdata) -- share buffer data
 +
</syntaxhighlight>
  
 
{{Share}}
 
{{Share}}

Latest revision as of 21:22, 20 February 2025

Available since: Gideros 2020.7
Class: Share

Description

Shares a piece of data with an external app.

(bool) = Share.share(mimeType,data)

This invokes the platform default sharing dialog, allowing to save, print, send, share, etc.

Currently supported MIME types:

  • "text/*"
  • "image/png"
  • "image/jpeg"

Parameters

mimeType: (string) the MIME type of the data
data: (string) the data itself

Return values

Returns (boolean) true if data can be shared

Examples

Image from file

require "Share"

local share = Share.new()

local img = io.open("gfx/cat.jpg")
local rimg = img:read("*all")

share.share("image/jpeg", rimg) -- MIME type, data

Using a Buffer (faster than IO)

local share = require "Share"

local tex = Texture.new("gfx/cat.jpg")
local bmp = Bitmap.new(tex)
local rt = RenderTarget.new(tex:getWidth(), tex:getHeight())
rt:draw(bmp)
local buff = Buffer.new("buffer.jpg") -- create a buffer
rt:save("|B|buffer.jpg") -- write to the buffer

local bdata = buff:get()

share.share("image/jpeg", bdata) -- share buffer data