JCChatViewLayoutAttributesInfo.swift 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. //
  2. // JCChatViewLayoutAttributesInfo.swift
  3. // JChat
  4. //
  5. // Created by deng on 10/04/2017.
  6. // Copyright © 2017 HXHG. All rights reserved.
  7. //
  8. import UIKit
  9. @objc open class JCChatViewLayoutAttributesInfo: NSObject {
  10. public init(message: JCMessageType, size: CGSize, rects: [JCChatViewLayoutItem: CGRect], boxRects: [JCChatViewLayoutItem: CGRect]) {
  11. _message = message
  12. _cacheSize = size
  13. _allLayoutedRects = rects
  14. _allLayoutedBoxRects = boxRects
  15. super.init()
  16. }
  17. open var message: JCMessageType {
  18. return _message
  19. }
  20. open func layoutedRect(with item: JCChatViewLayoutItem) -> CGRect {
  21. return _allLayoutedRects[item] ?? .zero
  22. }
  23. open func layoutedBoxRect(with item: JCChatViewLayoutItem) -> CGRect {
  24. return _allLayoutedBoxRects[item] ?? .zero
  25. }
  26. private var _message: JCMessageType
  27. private var _cacheSize: CGSize
  28. private var _allLayoutedRects: [JCChatViewLayoutItem: CGRect]
  29. private var _allLayoutedBoxRects: [JCChatViewLayoutItem: CGRect]
  30. }