Difference between revisions of "Share.share"

From GiderosMobile
 
(2 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
=== Description ===
 
=== Description ===
Sharing a piece of data with an external app.
+
Shares a piece of data with an external app.
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
 
(bool) = Share.share(mimeType,data)
 
(bool) = Share.share(mimeType,data)
Line 11: Line 11:
 
This invokes the platform default sharing dialog, allowing to save, print, send, share, etc.
 
This invokes the platform default sharing dialog, allowing to save, print, send, share, etc.
  
Supported MIME types:
+
Currently supported MIME types:
 
* '''"text/*"'''
 
* '''"text/*"'''
 
* '''"image/png"'''
 
* '''"image/png"'''
Line 23: Line 23:
 
'''Returns''' (boolean) ''true'' if data can be shared<br/>
 
'''Returns''' (boolean) ''true'' if data can be shared<br/>
  
=== Example ===
+
=== 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">
 
<syntaxhighlight lang="lua">
 
local share = require "Share"
 
local share = require "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