Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Decorate an expression with a speech bubble frame
ResourceFunction["SpeechBubble"][expr] displays expr wrapped in a speech bubble frame. | |
ResourceFunction["SpeechBubble"][speaker,expr] uses speaker as the source of the speech bubble. | |
ResourceFunction["SpeechBubble"][speaker,expr,offset] specifies that the speech bubble should be shifted by the given amount. | |
ResourceFunction["SpeechBubble"][] gives a nine-patch image that can be used to decorate other boxes as a speech bubble. |
| {x,y} | a distance from the top right of expr |
| Scaled[{x,y}] | coordinates scaled from 0 to 1 with respect to the size of expr |
| Center etc. | {Center,Center} etc. |
| Automatic | an offset automatically determined by the rendered edge of expr |
Display an expression styled as a speech bubble:
| In[1]:= |
| Out[1]= |
Include a speaker:
| In[2]:= | ![]() |
| Out[2]= | ![]() |
The speech can be any expression:
| In[3]:= |
| Out[3]= | ![]() |
Specify an offset for the speech frame:
| In[4]:= |
| Out[4]= | ![]() |
| In[5]:= |
| Out[5]= | ![]() |
| In[6]:= |
| Out[6]= | ![]() |
| In[7]:= |
| Out[7]= | ![]() |
Use an automatic offset that pulls the speech frame towards the edge of visible content:
| In[8]:= |
| Out[8]= | ![]() |
| In[9]:= |
| Out[9]= | ![]() |
Don't use any offset:
| In[10]:= |
| Out[10]= | ![]() |
Get a nine-patch image for the speech bubble:
| In[11]:= |
| Out[11]= | ![]() |
Use it as an Appearance for a Panel:
| In[12]:= |
| Out[12]= | ![]() |
Create a custom BirdSay:
| In[13]:= | ![]() |
| Out[13]= | ![]() |
Create an even better BirdSay:
| In[14]:= | ![]() |
| Out[12]= | ![]() |
Create a modernized version of cowsay, the original inspiration for BirdSay:
| In[15]:= |
| In[16]:= |
| Out[16]= | ![]() |
Recreate the Unix command fortune | cowsay:
| In[17]:= |
| Out[17]= | ![]() |
The speech bubble frame automatically resizes to fit content:
| In[18]:= | ![]() |
| Out[18]= | ![]() |
Offsets are specified with respect to the top-right corner:
| In[19]:= | ![]() |
| Out[19]= | ![]() |
Only the content in the speech bubble is interactive:
| In[20]:= |
| Out[20]= | ![]() |
Automatic offsets will not work very well for dynamic content:
| In[21]:= | ![]() |
| In[22]:= |
| Out[22]= | ![]() |
In these cases, it is best to use a specific offset:
| In[23]:= |
| Out[23]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License