File: emoji.js

package info (click to toggle)
aseba-plugin-blockly 20180211%2Bgit-2
  • links: PTS
  • area: non-free
  • in suites: buster
  • size: 64,472 kB
  • sloc: xml: 7,976; python: 2,314; sh: 261; lisp: 24; makefile: 10
file content (137 lines) | stat: -rw-r--r-- 3,156 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// Copyright 2007 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/**
 * @fileoverview Emoji implementation.
 *
 */

goog.provide('goog.ui.emoji.Emoji');



/**
 * Creates an emoji.
 *
 * A simple wrapper for an emoji.
 *
 * @param {string} url URL pointing to the source image for the emoji.
 * @param {string} id The id of the emoji, e.g., 'std.1'.
 * @param {number=} opt_height The height of the emoji, if undefined the
 *     natural height of the emoji is used.
 * @param {number=} opt_width The width of the emoji, if undefined the natural
 *     width of the emoji is used.
 * @param {string=} opt_altText The alt text for the emoji image, eg. the
 *     unicode character representation of the emoji.
 * @constructor
 * @final
 */
goog.ui.emoji.Emoji = function(url, id, opt_height, opt_width, opt_altText) {
  /**
   * The URL pointing to the source image for the emoji
   *
   * @type {string}
   * @private
   */
  this.url_ = url;

  /**
   * The id of the emoji
   *
   * @type {string}
   * @private
   */
  this.id_ = id;

  /**
   * The height of the emoji
   *
   * @type {?number}
   * @private
   */
  this.height_ = opt_height || null;

  /**
   * The width of the emoji
   *
   * @type {?number}
   * @private
   */
  this.width_ = opt_width || null;

  /**
   * The unicode of the emoji
   *
   * @type {?string}
   * @private
   */
  this.altText_ = opt_altText || null;
};


/**
 * The name of the goomoji attribute, used for emoji image elements.
 * @type {string}
 * @deprecated Use goog.ui.emoji.Emoji.DATA_ATTRIBUTE instead.
 */
goog.ui.emoji.Emoji.ATTRIBUTE = 'goomoji';


/**
 * The name of the goomoji data-attribute, used for emoji image elements. Data
 * attributes are the preferred way in HTML5 to set custom attributes.
 * @type {string}
 */
goog.ui.emoji.Emoji.DATA_ATTRIBUTE = 'data-' + goog.ui.emoji.Emoji.ATTRIBUTE;


/**
 * @return {string} The URL for this emoji.
 */
goog.ui.emoji.Emoji.prototype.getUrl = function() {
  return this.url_;
};


/**
 * @return {string} The id of this emoji.
 */
goog.ui.emoji.Emoji.prototype.getId = function() {
  return this.id_;
};


/**
 * @return {?number} The height of this emoji.
 */
goog.ui.emoji.Emoji.prototype.getHeight = function() {
  return this.height_;
};


/**
 * @return {?number} The width of this emoji.
 */
goog.ui.emoji.Emoji.prototype.getWidth = function() {
  return this.width_;
};


/**
 * @return {?string} The alt text for the emoji image, eg. the unicode character
 *     representation of the emoji.
 */
goog.ui.emoji.Emoji.prototype.getAltText = function() {
  return this.altText_;
};