diff options
author | Tulir Asokan <tulir@maunium.net> | 2019-04-07 23:21:11 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2019-04-07 23:21:11 +0300 |
commit | e5db799fa30c5e3c7290d7ead07c84ada11087ac (patch) | |
tree | 536f231aa79c6736a0dc9e721bc51d77719deb12 /ui/messages/base.go | |
parent | b81ba7b631b5243bd61514db1787a3f9043990e0 (diff) | |
parent | 5d7c1a4caab46f7e981aed7b9cc825b7602b4098 (diff) |
Merge branch 'deep-message-rendering'
Diffstat (limited to 'ui/messages/base.go')
-rw-r--r-- | ui/messages/base.go | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/ui/messages/base.go b/ui/messages/base.go index ba1902d..d045e42 100644 --- a/ui/messages/base.go +++ b/ui/messages/base.go @@ -21,9 +21,9 @@ import ( "time" "maunium.net/go/mautrix" + "maunium.net/go/mauview" "maunium.net/go/tcell" - "maunium.net/go/gomuks/config" "maunium.net/go/gomuks/interface" "maunium.net/go/gomuks/ui/messages/tstring" "maunium.net/go/gomuks/ui/widget" @@ -34,33 +34,30 @@ func init() { } type BaseMessage struct { - MsgID string - MsgType mautrix.MessageType - MsgSenderID string - MsgSender string - MsgSenderColor tcell.Color - MsgTimestamp time.Time - MsgState ifc.MessageState - MsgIsHighlight bool - MsgIsService bool - buffer []tstring.TString - plainBuffer []tstring.TString - prevBufferWidth int - prevPrefs config.UserPreferences + MsgID string + MsgType mautrix.MessageType + MsgSenderID string + MsgSender string + MsgSenderColor tcell.Color + MsgTimestamp time.Time + MsgState ifc.MessageState + MsgIsHighlight bool + MsgIsService bool + buffer []tstring.TString + plainBuffer []tstring.TString } func newBaseMessage(id, sender, displayname string, msgtype mautrix.MessageType, timestamp time.Time) BaseMessage { return BaseMessage{ - MsgSenderID: sender, - MsgSender: displayname, - MsgTimestamp: timestamp, - MsgSenderColor: widget.GetHashColor(sender), - MsgType: msgtype, - MsgID: id, - prevBufferWidth: 0, - MsgState: ifc.MessageStateDefault, - MsgIsHighlight: false, - MsgIsService: false, + MsgSenderID: sender, + MsgSender: displayname, + MsgTimestamp: timestamp, + MsgSenderColor: widget.GetHashColor(sender), + MsgType: msgtype, + MsgID: id, + MsgState: ifc.MessageStateDefault, + MsgIsHighlight: false, + MsgIsService: false, } } @@ -227,3 +224,9 @@ func (msg *BaseMessage) IsService() bool { func (msg *BaseMessage) SetIsService(isService bool) { msg.MsgIsService = isService } + +func (msg *BaseMessage) Draw(screen mauview.Screen) { + for y, line := range msg.buffer { + line.Draw(screen, 0, y) + } +} |